木曜日, 11月 20, 2008

PythonのTkで画像表示

PythonのPILの下にImageTkがなくなっている見たいで、何かTkinter中のPhotoImageで画像を表示しようとしていますが、このPhotoImageはGIF, PPM/PGM形式しか表示できなくて、よく使われるJPEGも表示したいという思いで探し回りまして、なかなか出てきませんでした。
以下はウェブに表示したを改造して、ここに張り付けます。

 1 import Tkinter
 2 import random
 3 from PIL import Image
 4
 5 def changeImage():
 6     global listOfImages
 7     im = listOfImages[random.randint(0,8)]
 8     box1Label.configure(image=im)
 9
10 top = Tkinter.Tk()
11 r7 = Tkinter.PhotoImage(file="m.gif")
12 b7 = Tkinter.PhotoImage(file="m.gif")
13 A = Tkinter.PhotoImage(file="m.gif")
14 B = Tkinter.PhotoImage(file="m.gif")
15 C = Tkinter.PhotoImage(file="m.gif")
16 f = Tkinter.PhotoImage(file="n.gif")
17 G = Tkinter.PhotoImage(file="n.gif")
18 P = Tkinter.PhotoImage(file="n.gif")
19 O = Tkinter.PhotoImage(file="n.gif")
20 # images are objects not strings
21 listOfImages = [r7, A, C, B, b7, f, P, G, O]
22 box1Label = Tkinter.Label(top, image=r7)
23 box1Label.grid(row=3, column=2)
24 changeButton = Tkinter.Button(top, text="Change", command=changeImage)
25 changeButton.grid(row=9, column=7)
26 Tkinter.mainloop()

0 件のコメント: