Guten Tag, bei meinem Versuch eine Temperatur auf einem ILI9341 abzubilden scheitere ich daran, das der alte Temperaturwert mit dem neuen Wert überschrieben wird, was dazu fürt das das ganze immer unleserlicher wird. Der alte Wert wird also nicht gelöscht. tft.setCursor(10, 10); tft.println(" Temperatur: " + String(temperatur) + " C"); Auch das hilft nicht: tft.setCursor(10, 10); tft.println(" Temperatur: " + String(" ") + " C"); tft.setCursor(10, 10); tft.println(" Temperatur: " + String(temperatur) + " C"); Das hilft, sieht aber blöd aus: tft.fillScreen(ILI9341_DARKGREEN); tft.setCursor(10, 10); tft.println(" Temperatur: " + String(temperatur) + " C"); Ich habe alle möglichen libraries nach möglichen Befehlen durchsucht aber leider nichts gefunden. Mit Dank im voraus, Bernd
BerndB schrieb: > Ich habe alle möglichen libraries nach möglichen Befehlen durchsucht > aber leider nichts gefunden. Dann ist die Lib scheisse. Denn wenn sie es nicht schafft einen alten Text durch Überschreiben mit Hilfe von Leerzeichen zu löschen ist was faul. Vielleicht gibt es in deiner famosen Lib die Funktion fillrectangle. Dann nutze diese um deinen alten Text mit schwarz zu übermalen.
Schreib mal die alte Temperatur nochmal in Wagenfarbe. das macht sie auch unsichtbar und dann mit weiss die neue Temperatur. Ist aber schon doof, oder? Was issn das für ne "Lib"?
Das sind meine Libraies: #include "DHTesp.h" #include "SPI.h" #include "Adafruit_GFX.h" #include "Adafruit_ILI9341.h"
Oh man (ohhhh määääähn)! Ist das sooo schwer ein paar Buchtsaben zu abstrahieren?
1 | void Adafruit_GFX::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, |
2 | uint16_t color) { |
3 | startWrite(); |
4 | for (int16_t i = x; i < x + w; i++) { |
5 | writeFastVLine(i, y, h, color); |
6 | }
|
7 | endWrite(); |
8 | }
|
1 | |
2 | /**********************************************************************/
|
3 | /*!
|
4 | @brief Set text font color with transparant background
|
5 | @param c 16-bit 5-6-5 Color to draw text with
|
6 | @note For 'transparent' background, background and foreground
|
7 | are set to same color rather than using a separate flag.
|
8 | */
|
9 | /**********************************************************************/
|
10 | void setTextColor(uint16_t c) { textcolor = textbgcolor = c; } |
11 | |
12 | /**********************************************************************/
|
13 | /*!
|
14 | @brief Set text font color with custom background color
|
15 | @param c 16-bit 5-6-5 Color to draw text with
|
16 | @param bg 16-bit 5-6-5 Color to draw background/fill with
|
17 | */
|
18 | /**********************************************************************/
|
19 | void setTextColor(uint16_t c, uint16_t bg) { |
20 | textcolor = c; |
21 | textbgcolor = bg; |
22 | }
|
23 | |
24 | /**********************************************************************/
|
25 | /*!
|
In dem obigen Auszug aus "Adafruit_GFX.h" sind zwei Versionen von setTextColor() aufgeführt. Die 2., bei der auch eine Hintergrundfarbe angegeben wird, sollte Dein Problem lösen.
Hier ein anderes Projekt das auch auf den Adafruit -Libraries basiert Dort sind die möglichen Kommandos beschrieben https://espeasy.readthedocs.io/en/latest/Plugin/P095.html
Beitrag #6565033 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.