PIL加载jpg
PIL加载jpg
我正在使用PIL来加载一个jpg文件,并在label小部件中显示它。起初,我在Python中遇到了"解码错误",然后在stackoverflow上找到了这篇帖子 - 如何在Mac OS X 10.7.2 Lion上安装PIL - 并解决了解码错误。然而,标签没有显示任何图像,只有一个白色区域。这是加载图像的代码 -
脚本,文件 = argv self.orgimg = Image.open(file) #原始图像 img = ImageTk.PhotoImage(self.orgimg) Label(self.root, image=img).grid(row=0,column=0,padx=5,pady=5)
在使用PIL加载jpg图片时,可能会出现图片无法显示的问题。这个问题的原因是图片被垃圾回收机制回收了。解决方法是将图片存储在一个局部变量中,这样当函数返回时,图片不会被垃圾回收机制回收。
具体解决方法可以参考http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm中的内容。