PIL的Image.show()带来*两个*不同的观众

当在python shell中使用图像时,我使用image.show(),其中image是Image的一个实例。 很久以前没有任何事情发生,但是在定义了一个名为“xv”的海市蜃楼的符号链接之后,我很高兴。

最后几天,show()将显示ImageMagick的显示和幻影。 show()不知道在哪里获得运行信息。 文档没有帮助。 如何使它performance和提出只有它认为是xv?

那么,im.show只是用于调试目的,不能保证工作。

尽管如此,你可以随时查看源代码(打开“pydoc PIL”,FILE部分指出模块的位置):

在Windows中,PIL将使用“开始/等待文件名”

在Mac中,它使用“open -a /Applications/Preview.app”

在Linux上,如果找到了,则显示'xdg-open'。

有点过时,但…我解决了这个问题,改变文件/usr/lib/python2.7/dist-packages/PIL/ImageShow.py的代码。 缺少Viewer类的方法show (在第66行附近)的return self.show_image(image, **options)return self.show_image(image, **options)

它可以将查看器指定为show方法的command参数,例如

img.show(命令= 'FEH')

我遇到了同样的问题,这是PIL中的一个问题。 您可以通过以下方式更改PIL代码:

在ImageShow.py文件中替换

 return "start /wait %s && del /f %s" % (file,file) 

 return "start /wait %s && del /wait /f %s" % (file,file) 

我找到了一种解决方法。

我用了:

 image.save('something.png') 

使用默认的预览程序从文件管理器打开PNG。 然后每次我再次调用save ,预览器自动刷新,我得到了新的形象:)