503
17.2
Die Klasse PhotoImage
diagramms an das Anzeige-Objekt geschickt. Beachten Sie, dass hier auf eine sinnvolle
Aufgabenverteilung im Sinne der OOP Wert gelegt wurde. Die Ermittlung der Zahlen ist
Aufgabe des Eingabe-Objektes. Die Art und Weise der (visuellen) Darstellung fällt allein in
die Zuständigkeit des Ausgabe-Objektes.
17.2 Die Klasse PhotoImage
In eine grafische Benutzungsoberfläche können Sie Bilder in Form von Pixelgrafiken (z.B.
digitale Fotos) einbinden. Dazu verwenden Sie die
tkinter-Klasse PhotoImage. Mit ihr las-
sen sich True-Color-Bilder mit 24 Bit pro Pixel darstellen. Ein
PhotoImage-Objekt kann auf
verschiedene Arten erzeugt werden:
Wenn das Bild aus einer Datei geladen werden soll, geben Sie den Pfad als Schlüsselwort-
Argument an:
Hier ist
pfad ein String mit einem Pfad zu einer Bilddatei mit einem der folgenden For-
mate: GIF (Graphical Interchange Format), PPM (Portable Pixmap) oder PGM (Portable
Grey Map). Andere Bildformate können nicht verwendet werden.
Wenn Sie in Ihrem Programm selbst ein Bild Pixel für Pixel berechnen wollen, geben Sie
keine Bilddatei an, sondern spezifizieren nur Höhe und Breite (Anzahl der Pixel):
Auch wenn Sie das Bild aus einer Datei laden, können Sie eine Höhe und Breite angeben.
Dann wird das Original gestreckt oder gestaucht und an diese Maße angepasst.
Tabelle 17.5 gibt einen Überblick über die wichtigsten Methoden von
PhotoImage-Objekten.
bild = PhotoImage(file=pfad)
bild = PhotoImage(width=breite, height=hoehe)
Methode Erklärung
copy()
Erzeugt ein neues PhotoImage-Objekt und kopiert den Inhalt
des Bildes in das neue Bild
get(x, y)
Liefert den Farbwert des Pixels an Position (x, y). Der Farbwert
wird als String dargestellt, der die drei RGB-Werte (getrennt
durch Leerzeichen) enthält.
height()
Liefert die Höhe des Bildes als ganze Zahl (Anzahl der Pixel)
put(farbe, position)
Das Argument farbe ist ein String im Format "#rrggbb", der
einen 24-Bit-Farbwert definiert. Das zweite Argument ist ein
Tupel aus 2 oder 4 Zahlen. Falls es das Format
(x, y) hat, wird
das Pixel an Position
(x, y) auf den angegebenen Farbwert
gesetzt. Wenn es das Format
(x1, y1, x2, y2) hat, wird das
Rechteck mit der linken oberen Ecke
(x1, y1) und der rechten
unteren Ecke
(x2, y2) gefärbt.
width()
Liefert die Breite des Bildes als ganze Zahl (Anzahl der Pixel).
Tabelle 17.5: Die wichtigsten Methoden der Klasse PhotoImage

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.