TFT Display ILI9341 Textänderung

Gast #6564626
Lesenswert?

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
Gast #6564655
Lesenswert?

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.
Gast #6564709
Lesenswert?

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
}
Gast #6564717
Lesenswert?

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.
Beitrag #6565033 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren