使用PIL显示调整大小的图像会打开两个窗口

时间:2018-12-02 20:12:56

标签: python raspberry-pi imagemagick python-imaging-library image-resizing

我想使用Python Imaging库全屏显示图像。我正在研究运行Raspbian,Python 2.7并使用ImageMagick来显示图像的Raspberry Pi。运行以下代码按预期工作:

from PIL import Image

im = Image.open("sampleImage.png")
im.show()

Normal functioning Image.show()

但是,如果我尝试调整图像大小,则会显示两个窗口,我认为其中一个是“图标”。

from screeninfo import get_monitors

m = get_monitors()
width = m[0].width
height = m[0].height

im = im.resize((width, height))
im.show()

Resized Image.show() displays two images

我尝试保存调整大小后的图像,然后再次打开它,但是得到的结果相同。 screeninfo软件包来自here。尝试查找类似的帖子时,我发现了this,但是我选中了PIL.ImageShow._viewers,并且只有一个查看者。由于ImageShow.py似乎没有解决方案中提到的相同问题,因此此处显示的解决方案也可能很旧。

1 个答案:

答案 0 :(得分:0)

结果是,仅当图像调整为大于屏幕尺寸时,第二个窗口才会出现。如果将宽度和高度设置为屏幕分辨率,则不会考虑菜单栏和任务栏,因此窗口最终比屏幕大。

要解决此问题,我做了im = im.resize((width, int(0.95*height)))