Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฉันจะอัปเดตรูปภาพบน Tkinter Canvas ได้อย่างไร


แพ็คเกจ PIL หรือ Pillow ใน Python มีวิธีการประมวลผลภาพในโปรแกรม เราสามารถเปิดรูปภาพ ปรับแต่งรูปภาพเพื่อการใช้งานที่แตกต่างกัน และสามารถใช้รูปภาพนั้นเพื่อแสดงข้อมูลได้เช่นกัน ในการแสดงรูปภาพในแอปพลิเคชัน โดยทั่วไปเราจะอ้างอิงถึงวิดเจ็ต Canvas เนื่องจากวิดเจ็ตผ้าใบมีฟังก์ชันมากมายในการเพิ่มรูปภาพและวัตถุในแอปพลิเคชัน เราจึงสามารถใช้เพื่อแสดงรูปภาพได้

หากต้องการเปลี่ยนภาพใดภาพหนึ่ง เราสามารถกำหนดค่าผ้าใบโดยใช้ itemconfig() ตัวสร้าง ต้องใช้ไฟล์ภาพที่จำเป็นต้องอัปเดตและแสดงบนหน้าต่าง

ตัวอย่าง

สำหรับตัวอย่างนี้ ให้ใช้ภาพที่คุณเลือก 3 ภาพและบันทึกไว้ในไดเร็กทอรีโครงการเดียวกัน

# นำเข้าไลบรารีที่ต้องการจากการนำเข้า tkinter *จากการนำเข้า tkinter ttk จากอิมเมจนำเข้า PIL, ImageTk# สร้างอินสแตนซ์ของ tkinter framewin=Tk()# ตั้งค่า geometrywin.geometry("750x400")# กำหนดฟังก์ชันเพื่ออัปเดต imagedef update_image ():canvas.itemconfig(image_container,image=img2)# สร้างแคนวาสและเพิ่มรูปภาพลงใน itcanvas=Canvas(win, width=650, height=350)canvas.pack()# สร้างปุ่มเพื่ออัปเดตปุ่มรูปภาพแคนวาส =ttk.Button(win, text="Update", command=lambda:update_image())button.pack()# เปิดรูปภาพใน Variableimg1=PhotoImage(file="logo.png")img2=PhotoImage(file="logo2.png")img3=PhotoImage(file="logo3.png")# เพิ่มรูปภาพใน canvasimage_container=canvas.create_image(0,0, anchor="nw",image=img1)win.mainloop() 

ผลลัพธ์

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

ฉันจะอัปเดตรูปภาพบน Tkinter Canvas ได้อย่างไร

ตอนนี้ ให้คลิกปุ่ม "อัปเดต" เพื่อเปลี่ยนรูปภาพ

ฉันจะอัปเดตรูปภาพบน Tkinter Canvas ได้อย่างไร