517
17.5
Aufgaben
#2: Hier wird das Bild auf den Canvas gesetzt. Dessen Größe passt sich dem Bild an.
#3: Wir verarbeiten das PIL.Image-Objekt; denn dem tkinter-kompatiblen Objekt
self.pic fehlen die nötigen Methoden. Zunächst merken wir uns die Farbe des ersten
Pixels links oben in der Variablen
color.
#4: Hier wird eine Liste sämtlicher Bildkoordinatenpaare aufgebaut. Also [(0,0), (0,1),
...]
. Über diese Koordinatenpaare läuft nun eine Iteration.
#5: Jedes Pixel, das nicht die Farbe color hat, wird durch einen weißen Punkt ersetzt. Man
kann auch sagen: Alle Bildpunkte mit der falschen Farbe werden gelöscht.
#6: Ansonsten wird an diese Stelle ein schwarzer Punkt gezeichnet.
#7: Aus dem veränderten PIL,Image-Objekt wird ein tkinter-kompatibles Objekt gewon-
nen, das anschließend auf dem Canvas dargestellt wird.
Noch ein Hinweis: Das Programm arbeitet nicht besonders schnell. Bei größeren Bildern
hat man schon Laufzeiten von mehreren Sekunden. Kein Wunder, denn es müssen ja viele
Pixel gelesen und geändert werden. Für effiziente Programme, die sehr große Datenmen-
gen verarbeiten können, sollten Sie das Modul NumPy verwenden. Mehr dazu in Kapitel 30.
17.5 Aufgaben
Aufgabe 1
Eine einfache digitale Bildergalerie könnte so funktionieren: In einer Liste sind Referenzen
auf Bilddateien und kurze Kommentartexte gespeichert. Beim Start des Programms erschei-
nen im Anwendungsfenster das erste Bild und der passende Kommentar (Abbildung 17.12).
Klickt man auf einen Button, wird das nächste Bild gezeigt usw. Nach dem letzten Bild der
Liste wird wieder vorne begonnen und es folgt das erste Bild der Liste. Schreiben Sie ein
objektorientiertes Python-Skript, das eine solche Bildergalerie realisiert.
Abb. 17.12: Bildergalerie

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.