Seite 1 von 1

Image auf Label abbilden

Verfasst: Mittwoch 18. Februar 2004, 21:32
von DER Olf
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?

Verfasst: Mittwoch 18. Februar 2004, 22:04
von 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

Verfasst: Donnerstag 19. Februar 2004, 00:43
von wuf
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:

Verfasst: Donnerstag 19. Februar 2004, 13:24
von DER Olf
danke. das is ja wie mit delphi und .bmp....tztztztztz :?

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