Sunday, November 25, 2012

การอ่านรูปและแสดงผลบน UI

คราวที่แล้วเราลองสร้าง UI อย่างง่าย ซึ่งจะนำมาใช้ต่อในบทความนี้ครับ

ก่อนอื่น เราจะลองนำข้อความไปวางบนหน้าต่างของ UI ให้ได้ผลลัพธ์ตามนี้ครับ

โดยใช้โค้ดต่อไปนี้
from Tkinter import Tk, Label
from PIL import Image, ImageTk

class mainApp:
    #constructor
    def __init__(self,mainwindow):
        #set title
        mainwindow.title("Text Label")
        #create a label on main window with text
        lbl = Label(mainwindow, text="Hello world!")
        #pack window to label and display
        lbl.pack()

#Main app starts here
root = Tk()
app = mainApp(root)
root.mainloop()


ต่อไปเราจะลองอ่านรูป แล้วแสดงผลบนหน้าต่าง โดยใช้ Label เป็นตัวเก็บรูป (เนื่องจากหน้าต่างหลักเก็บรูปไม่ได้ครับ)

ผลลัพธ์ที่ต้องการ


แก้ไขโค้ดใหม่ดังนี้ครับ
from Tkinter import Tk, Label
from PIL import Image, ImageTk

class mainApp:
    #constructor
    def __init__(self,mainwindow):
        #set title
        mainwindow.title("Image Label")
        #load image
        im = Image.open("lena.jpg")
        #convert image to Tk format
        #self is used to set the image to class variable
        #to prevent garbage collector to destroy image
        self.imTk = ImageTk.PhotoImage(im)
        #create a label on main window with image
        lbl = Label(mainwindow, image=self.imTk)
        #pack window to label and display
        lbl.pack()

#Main app starts here
root = Tk()
app = mainApp(root)
root.mainloop() 

 เป็นอย่างไรบ้างครับ ในที่สุดเราก็แสดงผลรูปบนหน้าต่างจนได้ ในหัวข้อถัดไปเราจะลองประมวลผลภาพแล้วนำมาแสดงในหน้าต่างครับ

No comments:

Post a Comment