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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.