Forum: Mikrocontroller und Digitale Elektronik Bargraph für TFT


von Tombo (Gast)


Lesenswert?

Wie sollte man am geschicktesten ein Bargraph beim TFT zeichnen?
Derzeit arbeite ich mit der wohl einfachsten Lösung..zeichne erst ein 
Rechteck in der höhe wie es sein soll und dann von oben nach unten eins 
in Hintergrundfarbe..(oder umgekehtr)
Das ist natürlich alles andere als elegant :-( insbesondere bekommt man 
hiermit natürlich keine schnelle Anzeige,,

Wie kann ich nur die neuen Teile zeichnen?
Hat jemand Beispielcode?

von STK500-Besitzer (Gast)


Lesenswert?

Tombo schrieb:
> Wie kann ich nur die neuen Teile zeichnen?
> Hat jemand Beispielcode?

wenn du nur die Änderungen einpflegst, erhöht sich die Geschwindigkeit.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?


von Tombo (Gast)


Lesenswert?

das IDE Beispiel passt hier leider nicht..weil es um ein TFT geht.
Wenn ich hier ein rechteck zeichne von x nach y und y dann wieder 
verkleinere bird der Balken ja nicht wieder kürzer sondern bleibt wie er 
ist..dazu müßte das was er zu lang ist wieder von pben mit einer anderen 
Farbe übermal werden...

Dein Beispiel ginge bei einfachen z.B. 16x2 Lcds..so leicht ist es ja 
leider beim TFT nicht :(

von Tom K. (ez81)


Lesenswert?

Die angezeigte Höhe des Balkens merken (wie im verlinkten Beispiel).
Wird die Funktion mit neuem Wert für die Höhe aufgerufen, gibt es drei 
Möglichkeiten:
1) Der neue Wert ist der gleiche wie der, der schon auf dem Display ist: 
nichts zu tun, Ende.
2) Der neue Wert ist höher, der Balken muss länger werden. Also ein 
Stück Rechteck dazumalen und zwar vom aktuell angezeigten höchsten Pixel 
bis zum neuen Pixel
3) Der neue Wert ist kleiner, der Balken muss kürzer werden. Also alles, 
was überflüssig ist, in Hintergrundfarbe übermalen.

Fälle 2 und 3 auf Karopapier aufmalen hilft.

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
Noch kein Account? Hier anmelden.