2014-07-03 33 views
0

我想用python打開圖像;我寫了下面的代碼:使用PYTHON打開圖像顯示錯誤

from PIL import Image 
im=Image.open("IMG_1930.jpg") 
im.show() 

但Windows照片查看器中打開,但它顯示了以下消息,而不是照片:因爲無論是圖片被刪除

「Windows照片查看器無法打開此圖片,或者它不在可訪問的位置。「

+1

嘗試提供圖像的完整路徑。 – alfasin

+0

或者@jsbueno說或者將圖像轉換爲gif –

回答

2

PIL中的show方法是一種窮人的查看圖像的方式 - 它具有硬編碼的圖像查看器應用程序,並在將圖像數據作爲外部應用程序調用之前將其寫入臨時文件。

發生什麼事情是因爲Windows有不均衡的訪問權限策略問題,並且查看者無法在Python的臨時目錄中打開該文件,或者Window有問題的路徑規範存在問題 - 它可能會即使是PIL中的一個錯誤,也會導致圖像查看器無法使用由PIL生成的臨時paht。

如果您在窗口應用程序中使用show,使用觀看圖像,而不是顯示它的你的無線工具包的方式 - 否則,如果它是一個簡單的應用,建立一個Tkitner窗口,並把它的形象,而不是show

import sys 

import Tkinter 
from PIL import Image, ImageTk 

window = Tkinter.Tk() 
img = Image.open("bla.png") 
img.load() 
photoimg = ImageTk.PhotoImage(img) 
container = Tkinter.Label(window, image=photoimg) 
container.pack() 

Tkinter.mainloop() 

(Linux用戶:一些分佈所需要的單獨的安裝的用於PIL /枕頭Tkinter的支持在Fedora,例如,一個具有安裝python-pillow-tk包。)