Image auf Label abbilden

Fragen zu Tkinter.
Antworten
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

n'abend.

wie kann ich mit Tkinter ein Image auf einem Label abbilden?
das ist mein code bis jetzt (nicht wunden wegen den bezeichnungen, ist ein fantasy game...):

Code: Alles auswählen

self.zauber_image = PhotoImage(self.zauber_frame, file = "images/zauber.jpg")
        self.zauber_label = Label(self.zauber_frame, image = self.zauber_image)
        self.zauber_label.grid(row=0,column=0)
diese fehler kommt beim starten:

Code: Alles auswählen

TclError: couldn't recognize data in image file "images/zauber.jpg"
könnt ihr mir weiterhelfen?
Gast

hi

ob es damit zu tun hat weiss ich nicht :

Code: Alles auswählen

self.zauber_image=PhotoImage(file="images/zauber.jpg")
ich habe nur kurz ein bsp aus einstieg in python angeguckt und es fiel mir auf, dass er bei der erzeugung des objektes PhotoImage nur den Pfad, als Parameter übergibt.

mfg

rolgal
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo OLF

Irgendwie sind für Tkinter Bildchen mit
den Endungen .bmp, .jpg, .png usw. schwer
verdaubare Kost.

Das heisst mit der Erweiterungs-Bibliothek
PIL (Python Image Library), welche auf
dem Internet gratis verfügbar ist, macht es
auch dem Tkinter keine Probleme mehr die
erwähnten Formate zu verarbeiten. Da kannst
Du auch grössere Photobilder mittels Tkinter
sichbar machen.

Bildchen mit der Endung .gif sind für den
Standard Tkinter-GUI hingegen keine Probleme.

Folgendes Beispiel soll Dir das beweisen. Du
muss einfach eine Datei 'Bildchen.gif' in das
gleiche Verzeichnis, wo sich auch Dein Zauber-
skript befindet kopieren:

Code: Alles auswählen

from Tkinter import*

root = Tk()

zauber_image = PhotoImage(file='Bildchen.gif')

zauber_label = Label(root,image=zauber_image)
zauber_label.grid()

root.mainloop()
Für das weitere Beispiel musst Du die Software
PIL 1.14 vom Internet runterladen und im Python-
Verzeichnis /Python2.3/site-packages installieren,
dann kannst Du auch Bildchen.jpg verarbeiten:

Code: Alles auswählen

from Tkinter import*
from ImageTk import*

root = Tk()

zauber_image = PhotoImage(file='Bildchen.jpg')

zauber_label = Label(root,image=zauber_image)
zauber_label.grid()

root.mainloop()
Gruss wuf :wink:
Take it easy Mates!
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

danke. das is ja wie mit delphi und .bmp....tztztztztz :?

wenn nur GIF geht, is ja auch kein problem, is eh kleiner.. :)[/code]
Antworten