Seite 1 von 1

Tkinter prob. mit PhotoImage

Verfasst: Mittwoch 10. August 2011, 19:44
von jtschoch
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.

Re: Tkinter prob. mit PhotoImage

Verfasst: Mittwoch 10. August 2011, 20:26
von wuf
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:

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 02:04
von EyDu
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 ... ;-)

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 08:42
von wuf
@ EyDu: Stimmt! Unser jtschoch jedoch scheint Google nicht zu lieben. :lol:

Gruss wuf :wink:

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 11:21
von lunar
@wuf: Wieso sollte er auch? Klappt doch offensichtlich auch ohne Google… :roll:

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 11:28
von jtschoch
Doch ich hatte in Google gekuckt ich habe es auch in gif -Format aber das auch nicht funktioniert.

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 11:50
von jtschoch
Habe es. die gif datei war beschädigt besser gesagt kein richtiges gif

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 12:19
von Xynon1
Lass mich mal raten, was du gemacht hast:

Code: Alles auswählen

Rechtsklick --> Umbenennen --> aus "search.png" mach "search.gif"

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 13:51
von jtschoch
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?

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 13:56
von BlackJack
@jtschoch: Das GIF-Format kann nur binäre Transparenz speichern, also entweder ganz durchsichtig oder gar nicht.

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 14:36
von jtschoch
Was kann ich sonst machen?

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 14:54
von Xynon1
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.

Re: Tkinter prob. mit PhotoImage

Verfasst: Donnerstag 11. August 2011, 15:30
von jtschoch
danke für die erinnerrung

Re: Tkinter prob. mit PhotoImage

Verfasst: Sonntag 14. August 2011, 13:27
von jtschoch
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?

Re: Tkinter prob. mit PhotoImage

Verfasst: Sonntag 14. August 2011, 16:46
von jtschoch
Will mir keiner Helfen :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :( :K no :idea: :?: :?: :?:

Re: Tkinter prob. mit PhotoImage

Verfasst: Dienstag 16. August 2011, 20:45
von jtschoch
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?

Re: Tkinter prob. mit PhotoImage

Verfasst: Dienstag 16. August 2011, 21:48
von wuf
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

Re: Tkinter prob. mit PhotoImage

Verfasst: Mittwoch 17. August 2011, 08:25
von jtschoch
Aber wie griege ich dann die Fehlermeldung weg?
Bei py2exe kann der es nor im Rootverzeichnis und nicht in Unterordern? ^^2

Re: Tkinter prob. mit PhotoImage

Verfasst: Mittwoch 17. August 2011, 13:33
von wuf
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:

Re: Tkinter prob. mit PhotoImage

Verfasst: Mittwoch 17. August 2011, 15:17
von jtschoch
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!