Tkinter prob. mit PhotoImage

Fragen zu Tkinter.
Antworten
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Hi Leute und Pythoner,

ich habe ein Prob. mit PhotoImage wenn ich das so:

Code: Alles auswählen

photo = Tkinter.PhotoImage(file="search.png")
Search = Button(image=photo, command = seachweb)
Search.photo = photo
Search.place(relx=0.235, rely=0.75, relwidth=0.14, relheight=0.2)
schreibe,
bekomme ich eine Fehlermeldung.

Die lautet so:

Code: Alles auswählen

Traceback (most recent call last):
  File "J:\JT_proj\python\Webseach\pywwwseachdesk.py", line 79, in <module>
    photo = Tkinter.PhotoImage(file="search.png")
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 3244, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 3200, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't recognize data in image file "search.png"
[/b]
jtschoch hat geschrieben: Ich weiß nicht ob,
dass an der Image liegt, weil die bloß 48x48 groß ist ist eigentlich ein Icon Bild
aber ich habe es als PNG gemacht.
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi jtschoch
Exception hat geschrieben:TclError: couldn't recognize data in image file "search.png"
PhotoImage kann nur Bilddateien mit der Endung .gif verdauen. Du musst das bild.png in eine bild.gif umwandeln. (z.B. mittels Gimp usw.)

Grüßchen wuf :wink:
Take it easy Mates!
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ist ja nicht so, dass der erste Treffer mit Google nach "TclError: couldn't recognize data in image file" das nicht auch gesagt hätte ... ;-)
Das Leben ist wie ein Tennisball.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

@ EyDu: Stimmt! Unser jtschoch jedoch scheint Google nicht zu lieben. :lol:

Gruss wuf :wink:
Take it easy Mates!
lunar

@wuf: Wieso sollte er auch? Klappt doch offensichtlich auch ohne Google… :roll:
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Doch ich hatte in Google gekuckt ich habe es auch in gif -Format aber das auch nicht funktioniert.
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Habe es. die gif datei war beschädigt besser gesagt kein richtiges gif
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Lass mich mal raten, was du gemacht hast:

Code: Alles auswählen

Rechtsklick --> Umbenennen --> aus "search.png" mach "search.gif"
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Nein ich habe das Programm IcoFx für mein Icon verwendet und habe bein abspeichern statt der endung .ico gif hingeschrieben.

Aber ich habe bei gif noch ein anderes Prob. ich erhalte das Bild so:Bild Das Bild hat ein leicht Tranzperenten Farbverlauf. Wie kann ich das ändern?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
BlackJack

@jtschoch: Das GIF-Format kann nur binäre Transparenz speichern, also entweder ganz durchsichtig oder gar nicht.
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Was kann ich sonst machen?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Dann brauchst du ein anderes Bildformat, für welches du die PIL benötigst. Was ich dir im übrigen hier und sicher auch woanders schonmal gesagt hatte.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

danke für die erinnerrung
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ich habe noch ein Prob.
Ich habe das mit PIL hinbekommen.
Ich habe meine Dateien als ICO funktioniert wunderbar aber wenn ich das Programm als EXE mache und
es starten will, kommt eine Fehlermeldung im Logfile:

Code: Alles auswählen

Traceback (most recent call last):
  File "pywwwseachdesk.pyw", line 74, in <module>
    img = ImageTk.PhotoImage(Image.open(os.getcwd() + '\icons\search1.ico'))
  File "PIL\Image.pyc", line 1980, in open
IOError: cannot identify image file
Also das kommt wenn ich die exe Starte und wie kann mann bei PIL data verwenden also die base64 code?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Will mir keiner Helfen :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :( :K no :idea: :?: :?: :?:
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Kann mir bitte jemand Helfen - meine Frage ist folgende:

Code: Alles auswählen

[1]base64_code = """Base64 code """
[2]...
[3]print_tk = PhotoImage(data=base64_code)
[4]lb1 = Label(root, image = print_tk)
[5]lb1.pack()
So geht es ja mit PhotoImage, aber wie kann mann den Code in PIL umsetzen?

Code: Alles auswählen

[1]base64_code = """Base64 code """
[2]...
[3]print_tk = Image.open(data=base64_code)
[4]lb1 = Label(root, image = print_tk)
[5]lb1.pack()
Geht nicht, wie sonst?
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi jtschoch

Hier ein Testsnippet:

Code: Alles auswählen

import Tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()

pil_image = Image.open('my_image.png')

tk_image = ImageTk.PhotoImage(pil_image)

lb1 = tk.Label(root, image=tk_image)
lb1.pack()

root.mainloop()
Mit Base64 Daten geht es leider nicht.

Gruß wuf
Take it easy Mates!
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Aber wie griege ich dann die Fehlermeldung weg?
Bei py2exe kann der es nor im Rootverzeichnis und nicht in Unterordern? ^^2
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Meinst du diese Fehlermeldung? jtschoch hat geschrieben:Traceback (most recent call last):
File "pywwwseachdesk.pyw", line 74, in <module>
img = ImageTk.PhotoImage(Image.open(os.getcwd() + '\icons\search1.ico'))
File "PIL\Image.pyc", line 1980, in open
IOError: cannot identify image file
Irgendwie bekommt PIL das falsche Futter :? oder kann die '.ico'-Datei nicht erkennen (evtl. falscher Pfad?)

Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Ja,
aber in mein ohne exe (nomal) funktioniert es wunderbar
Dachte ich erst auch dann habe ich os.getcwd() hinzugefügt und vor + '\icons\search1.ico geschrieben.
Es bleibt aber bei der Fehlermeldung!
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Antworten