2017-04-14 4 views
0
from Tkinter import * 
frame = Tk() 
frame.geometry("1200x900") 

w = Canvas(frame,width=250,height=450) 
w.place(x=30,y=300) 

img=PhotoImage(file="card2.ppm") 
w.create_image(100,100,anchor=NW,image=img) 

frame.mainloop() 

答えて

0

ファイルからGIFおよびPGMは/ PPM画像を読み取ることができる光画像クラスにキャンバスに表示されます。

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

photo = PhotoImage(file="lenna.pgm") 

PhotoImageは、base64でエンコードされたGIFファイルを文字列から読み取ることもできます。あなたは(base64でエンコードされた文字列にバイナリデータを変換するbase64でモジュールで使用する機能)Pythonのソースコード内の画像を埋め込むためにこれを使用することができます。

photo = """ 
R0lGODdhEAAQAIcAAAAAAAEBAQICAgMDAwQEBAUFBQY GBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O 
    Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZ  GRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh 

...

AfjHtq1bAP/i/gPwry4AAP/yAtj77x+Af4ABAwDwrzAAAP8S 
    A /j3DwCAfwAA/JsM4J/lfwD+/QMA 
4B8AAP9Ci/4HoLTpfwD+qV4NoHVAADs= 
""" 

photo = PhotoImage(data=photo) 

あなたがする必要がある場合他のファイル形式で作業、Pythonのイメージングライブラリ(PIL)は、30以上のフォーマットで画像を読み込むと、Tkinterの互換画像オブジェクトに変換することができますクラスが含まれています:

from PIL import Image, ImageTk 

image = Image.open("lenna.jpg") 
photo = ImageTk.PhotoImage(image) 

あなたが使用することができますどこでもPhotoImageインスタンスTkinterはイメージオブジェクトを受け入れます。例:

label = Label(image=photo) 
label.image = photo # keep a reference! 
label.pack() 

あなたは、どちらかのグローバル変数に格納することによって、または別のオブジェクトにそれを添付して、あなたのPythonプログラムで画像オブジェクトへの参照を保持する必要があります。

てみランニング:

import Tkinter as tk 
root = tk.Tk() 
root.title("display a website image") 
photo = tk.PhotoImage(file= 
r "C:\Some\Local\location\smile.ppm") 
cv = tk.Canvas() 
cv.pack(side='top', fill='both', expand='yes') 
cv.create_image(10, 10, image=photo, anchor='nw') 
root.mainloop() 

が、これは動作しない場合は、参照

を追加してみてください
関連する問題