有没有人使用wxpython显示损坏的图像的过程或解决方案。要清楚图像已损坏,但ACDSEE仍然能够显示它(全部显示已损坏),默认的Windows传真/图像查看器也可以显示图像(全部都已损坏)。当我尝试使用wx处理图像时,我收到错误并且我的脚本停止了:
image.thumbnail((NewWidth, temp_height), Image.ANTIALIAS)
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1559, in thumbnail
self.load()
File "C:\Python27\lib\site-packages\PIL\ImageFile.py", line 215, in load
raise_ioerror(e)
File "C:\Python27\lib\site-packages\PIL\ImageFile.py", line 52, in raise_ioerror
raise IOError(message + " when reading image file")
IOError: broken data stream when reading image file
我意识到我可以找到错误发生的位置并“跳过”任何损坏的图像,但我宁愿能够显示它们(而不是跳过它们),尽管有腐败,因为我上面提到的两个程序都可以。任何帮助/建议/指导将不胜感激。
FYI。没有击败wx,我喜欢它! Paint女士无法显示图像,它优雅地失败并发出图像已损坏(相当于跳过)并且MS Picture Manager实际挂在图像上的消息。因此,如果共识是wx只是无法处理损坏的图像我愿意接受并且会为损坏的图像添加“跳过”代码,但我想在我这样做之前提出问题。
答案 0 :(得分:0)
我不认为wxPython目前支持这一点。我会创建一些默认的破碎图像或消息,您可以显示。您也可以尝试使用Python Imaging Library本身打开图像。
如果你能找到一个可以处理损坏图像的开源图像查看器,那么你应该看看他们的代码,看看我们是否可以修补wxPython。