Hallo,
ich habe einen Raspberry an dem ein 2,8" TFT über SPI angeschlossen
ist.
Ich gebe eine Grafik mit folgendem Code aus (Ausschnitt, in Python):
1 | from PIL import Image, ImageDraw, ImageFont
|
2 | ....
|
3 | image = Image.new("RGB", (width, height))
|
4 | draw.rectangle((0, 0, width, height), outline=0, fill=(0, 0, 0))
|
5 | disp.image(image)
|
6 | image = Image.open("test.jpg")
|
7 | disp.image(image)
|
Das funktioniert einwandfrei. Zunächst wird das Display ein mal schwarz
gemacht, dann die Grafik geladen und Angezeigt.
Nun mein Problem: Die Grafik wird immer links oben angezeigt (Grafik hat
100x100 Pixel, Display hat 240x320 Pixel).
Wie kann ich die Position der Grafik bestimmen. Im nächsten Schritt
sollen unterschiedliche Grafiken nebeneinander am unteren Displayrand
angezeigt werden. Hierfür müsste ich die exakte Position angeben können.
Google hat "draw.bitmap" ausgespuckt.
Ich habe es folgendermaßen versucht:
1 | draw.bitmap((150, 150), Image.open('test.bmp'), fill=None)
|
Egal was ich für "fill" eingebe, es kommt entweder Syntaxfehler oder
"bad transparency mask". Ich habe schon RGB-Werte, RGBA-Werte, die
Zahlen 0, 1 und 255 sowie den Wert "none" versucht, immer das gleiche.
Wobei diese Sachen bei Beispielen die ich über Google gefunden habe
angezeigt werden.
Wenn ich Text ausgeben will funktioniert es mit folgender Beispielzeile
ohne Probleme. Der Text wird korrekt ausgegeben und positioniert.
1 | draw.text((140, 180), text, font=font_groß, fill=(255, 255, 0))
|
Was mache ich falsch, oder gibt es eine bessere Methode?
Ziel ist es im unteren Displaybereich 3 Grafiken nebeneinander
anzuzeigen. Diese Grafiken wechseln je nach Messwerte, müssen also
variabel sein. Darüber ist ein großer Bereich vom Display für Messwerte
vorgesehen (Textzeilen unterschiedlicher Größe).
Das mit dem Text funktioniert bereits. Ich muss nur noch die Grafiken
einbinden können.