消息文件名
语法错误
(unicode错误)'unicodeescape'编解码器无法解码2-3位的字节:>截断\ UXXXXXXXX转义C:\ visualexample.py
我已经导入了PIL和tkinter,尝试了一些不同的东西,但我看到的主要建议是:
img = ImageTk.PhotoImage(Image.open(“C:\ testpic.gif”))
或
img = tk.PhotoImage(Image.open(“C:\ testpic.gif”))
还尝试了图像文件类型:.bmp .jpeg .png .gif ....将它们放入标签并打包或放置。
我还有另一个错误消息,我手头没有,但它有点像:
Invaild'____str____'值类型:'JpegImageFormat'不是公认的格式。
当这个出现时,它也适用于所有图片文件类型。
我想我只需要使用普通的纯色背景和字体颜色来完善我的程序。也许PIL Lib是错误的(我必须将它与python 3.3分开),我认为我得到了正确的。
也许是文件大小(Mb)的限制?
如果有人对如何在后台放置图片文件有任何建议,那就太棒了!
编辑: python 3x,import tkinter和PIL导入ImageTk,Image
建议适用于.gif .bmp .png .jpg :)
img = PIL.ImageTk.PhotoImage(PIL.Image.open(picfilepath))
答案 0 :(得分:2)
我也遇到了PIL和Tkinter图像的问题......当我找到解决方案时,我一直在寻找几个小时。试试这个,我希望它会对你有所帮助,这个简单的程序运行一个带有图像的标签:
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()
我刚刚指定了从中获取模块的所有库。并且还要注意反斜杠...使用您使用的那些,您将收到错误。使用此选项:/
或:\\
如果你想调整它的大小:
img = PIL.Image.open ("C:/Users/Vladi/example.jpg")
img = img.resize ((80, 75))
img = PIL.ImageTk.PhotoImage(self.im)
你必须在调用PhotoImage
之前调整它的大小,你也可以把它全部写成一行:
img = PIL.ImageTk.PhotoImage(PIL.Image.open ("C:/Users/Vladi/example.jpg").resize((80, 75)))
我希望我帮助过你
答案 1 :(得分:0)
看起来PIL存在严重问题。我认为它根本不支持Python 3(https://mail.python.org/pipermail/image-sig/2009-March/005498.html)。但我也在Python 2.7.11上尝试过它,并且无法显示任何图像。如果你想在Tkinter上展示图片,我建议你试试这个:
{
"hosting": {
"rewrites": [{"source": "**", "destination": "/index.html"}]
}
}
它还支持from tkinter import *
root = Tk()
imgobj = PhotoImage(file="filename.png")
label = Label(root, image=imgobj)
label.pack()
图片格式,但不支持gif
类型。