PIL加载jpg

11 浏览
0 Comments

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)

0
0 Comments

问题出现的原因是可能需要调用self.orgimg.load()来实际加载位图信息。另外,根据这个网站的说明,存在一个警告,与您的问题类似。

解决方法:

1. 在加载jpg文件之前调用self.orgimg.load()方法。

2. 查看上述链接中提供的网站,以获取更多关于该问题的信息。

0
0 Comments

在使用PIL加载jpg图片时,可能会出现图片无法显示的问题。这个问题的原因是图片被垃圾回收机制回收了。解决方法是将图片存储在一个局部变量中,这样当函数返回时,图片不会被垃圾回收机制回收。

具体解决方法可以参考http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm中的内容。

0