Ich möchte in einem TFT Display ein "Fenster" darstellen in dem ein Sensorwert mittig geschrieben wird. Der Sensorwert ist variabel (1 bis 4-stellig).
Kann ich den darzustellenden Wert in der Pixellänge berechnen um ihn richtig zu platzieren?
Was für Display was für Lib?
Wenn Du zufällig mit der Adafruit GFX arbeitest, könnte getTextBounds() helfen.
Na nichts leichter als das.
Wie gross ist das Fenster?
Dein Sensorwert ein int, float oder char?
Nein, keine Adafruit.
Das Projekt befindet sich noch in Vorbereitung und daher hauptsächlich im Kopf.
Ich möchte es diesmal grafisch etwas hübscher machen.
Beim "rumprobieren" beschreibe ich mein Testdisplay derzeit mit String(int) und String(float). Fenstergrösse steht noch nicht fest, warscheinlich 200 Pixel.
Dann müsstest noch festlegen wie gross Deine Zeichen sind. Und dann hoffentlich nur proportional. Alles andere macht keinen Sinn.
Ja, meine Lieblingsbibliothek U8g2 hat die Methode getStrWidth (bitte etwas blättern!) dafür. Zahlen würde ich allerdings mit einem monospaced Font rechtsbündig anzeigen. Dafür eignet sich snprintf sehr gut.
Nähere Infos gerne auf Nachfrage ![]()
Erst muss du wissen was für Display den nicht alle funktionieren mit der gleicher und allen Lib, danach den testen mit "Hallo Word" wen du danach den kennst probieren mit deinen Werten
3 posts were split to a new topic: Can you please explain this code give below?
A post was merged into an existing topic: Can you please explain this code give below?
Ok, ist also abhängig von der Lib. Werde ich in meine Planung einbeziehen...
Ja, auch von den dort zur Verfügung gestellten Fonts. Bei proportionalen Fonts ist die Pixellänge variabel, da muß die Bibliothek was zur Verfügung stellen.
Viele Sensorwerte können den angezeigten Wert zum Flackern bringen, da hilft ein Font, der den Hintergrund mit überschreibt.
Von Oli Kraus gibt es noch U8g2_for_Adafruit_GFX und für farbige Displays Ucglib.
Damit nix flakert nutze ich die Eigenschaft des Displays GRAM = einmal geschriebn bleibt der Inhalt behalten das geht am einfachsten mit case Hintergrund wählen, im case Werte verändern je nach Lib zB mit print(wert,hinergrund farbe)
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.