开发者

PIL image show() doesn't work on windows 7

开发者 https://www.devze.com 2023-04-12 13:40 出处:网络
I would like to show an image using python on windows and other platforms. When I do: from PIL import Image

I would like to show an image using python on windows and other platforms. When I do:

from PIL import Image
im开发者_JAVA技巧 = Image.open('image.png')
im.show()

my default viewer opens up and tells me that Windows Photo Viewer can't open this picture because either this file was deleted , etc.

The file is probably deleted because PIL calls the os with the following command: "start /wait %s && del /f %s" % (file, file)

I found a workaround here. They recommend changing PIL's code to "start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file). However, I want others to be able to use my code.

Is there a simple solution? Should I look for an alternative to PIL that would work crossplatform?


Ok, found a solution here:

import webbrowser
webbrowser.open('image.png')

It opens the default viewer, not the browser, on my machine.

Also, there is os.startfile.


If you want it to be opened by MS paint only, you can use:

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

The /wait is not having any effect when the file name is specified directly.


When Photo Viewer does appear, Go to menu on top ->Open->Choice Program-> Select Paint
On Spanish -> Abrir-> Elegir Programa -> seleccionar Paint

image reference: image

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号