2017-04-21 8 views
0

png画像をインポートしたいが、画像の引数としてimagetypeを正しい方法で書くことができない。私は "png"、 "PNG"、imgtype = "png"と書いてみましたが、うまくいきません。誰でもこれを正しく書く方法を知っていますか?私は以下のコードを使用しています。私はOSXのbtwを使用しています。PILでpng画像をインポートできない

from Tkinter import * 
import PIL 

root = Tk() 
img = Image("this is where i'm supppsed to write imgtype", file="image.png") 
panel = Canvas(root) 
panel.pack(side = "bottom", fill = "both", expand = "yes") 
panel.create_image(image=img) 

root.mainloop() 

答えて

0

あなたはtkintersImageクラスからイメージを作成しようとしているが、それは.pngイメージをサポートしていません。

documentation

photo = PhotoImage(file="image.gif") 

あなたは、Pythonのイメージング ライブラリ他のファイル形式で作業する必要がある場合は、次のファイルからGIFおよびPGM/PPM画像を読み取ることができます

光画像クラス(PIL)には、 フォーマットの画像をロードし、Tkinter互換の画像オブジェクトに変換するクラスが含まれています。

を行うことにより、

、あなたがグローバル名前空間にTkinterパッケージからすべてのモジュールをロードしているので、Imageあなたのケースでは、実際にTkinter.Imageです。

、あなたの問題を解決しようとするには、次の

pil_img = PIL.Image.open("image.png") 
img = PIL.ImageTk.PhotoImage(pil_img) 
+0

おかげで、それが働きました。しかし、私は新しい問題に遭遇しました。それは_imaging Cモジュールがインストールされていないと言います – ronaldfisher

+0

私はこの記事をeffbot.orgで見つけました。これはhttp://effbot.org/zone/pil-imaging-not-installedです。 htm – alxwrd

関連する問題