2016-07-19 4 views
0

Nachricht Dateiname
Syntaxfehler
(Unicode-Fehler) 'unicodeescape' Codec kann nicht Bytes in Position dekodieren 2-3:> abgeschnitten \ UXXXXXXXX Flucht C: \ visualexample.pyWie setze ich ein Tkinter-Bild in den Hintergrund? halte gleiche Fehler msg unabhängig von dem Dateityp immer:

ich habe importiert PIL und tkinter und versuchte ein paar andere Dinge, aber die, die ich meist vorgeschlagen sehen ist:

img = ImageTk.PhotoImage (Image.open (“ C: \ testpic.gif "))

oder

img = tk.PhotoImage (Image.open ("C: \ testpic.gif"))

auch Datei Bildtypen versucht: .bmp .jpeg .png .gif. ... lege sie in ein Etikett und packe oder platziere sie.

Ich habe auch einen anderen Fehler msg, die ich bei der Hand nicht haben, aber es war so etwas wie:

Invaild ‚____str____‘ Werttyp: ‚JpegImageFormat‘ ist kein anerkanntes Format.

Wenn dieses auftaucht, wird es auch für alle Bilddateitypen verwendet.

Ich denke, ich werde einfach mein Programm mit einfachen alten Farben und Schriftfarben anrühren. Vielleicht ist die PIL-Lib die falsche (ich musste sie von Python 3.3 trennen), ich dachte, ich hätte die richtige gefunden.

Vielleicht gibt es eine Dateigröße (Mb) Limit?

Wenn jemand irgendwelche Vorschläge hat, wie man eine Bilddatei in den Hintergrund stellt, wäre das großartig!

edit: Python 3x, Import tkinter und von PIL Import ImageTk, Bild

Vorschlag für .gif arbeitete .bmp .png .jpg :)

img = PIL.ImageTk.PhotoImage (PIL. Image.open (Picfilepath))

+0

Bitte fügen Sie weitere Code - welche Module Sie importiert haben, wie Sie sie usw. verwendet haben. –

+0

Sind Sie eingeschaltet Python 3.x oder 2.x? –

+1

Backslash ist ein Escape-Zeichen. Verdopple sie. z.B. C: \\ testpic.gif – Hobbes

Antwort

0

Ich hatte auch Probleme mit PIL und Tkinter Images ... Ich hatte stundenlang gesucht, als ich eine Lösung gefunden habe. Versuchen Sie dieses, ich hoffe, es wird Ihnen helfen, läuft dieses einfache Programm ein Etikett mit einem Bild auf sie:

from tkinter import * 
import PIL.Image 
import PIL.ImageTk 

root = Tk() 

image = PIL.ImageTk.PhotoImage(PIL.Image.open ("C:/Users/Vladi/example.jpg")) 
label = Label (root, image = image).pack() 

root.mainloop() 

Ich habe alle Bibliotheken nur angegeben, woher ich die Module nahm. Und pass auf die Backslashes auf ...Wenn Sie die verwendeten verwenden, erhalten Sie einen Fehler. Verwenden Sie diese: / oder: \\

Wenn Sie es ändern möchten:

img = PIL.Image.open ("C:/Users/Vladi/example.jpg") 
img = img.resize ((80, 75)) 
img = PIL.ImageTk.PhotoImage(self.im) 

Sie haben es, um die Größe, bevor PhotoImage aufrufen, können Sie auch schreiben sie alle in einer Linie:

img = PIL.ImageTk.PhotoImage(PIL.Image.open ("C:/Users/Vladi/example.jpg").resize((80, 75))) 

Ich hoffe, ich habe Ihnen geholfen

+0

Vergessen Sie nicht, die Antwort zu akzeptieren, wenn es Ihr Problem gelöst hat;) – vladi

0

Es scheint, dass PIL ernste Probleme hat. Ich denke, es unterstützt Python 3 noch gar nicht (https://mail.python.org/pipermail/image-sig/2009-March/005498.html). Aber ich habe es auch in Python 2.7.11 versucht und konnte kein Bild anzeigen. Wenn Sie versuchen, ein Bild auf Tkinter zu zeigen, würde ich dir vorschlagen, versuchen:

from tkinter import * 
root = Tk() 

imgobj = PhotoImage(file="filename.png") 

label = Label(root, image=imgobj) 
label.pack() 

Es unterstützt auch gif Bildformat, unterstützt aber nicht jpg Typ.