Tkinter Canvas विजेट Tkinter लाइब्रेरी में सबसे बहुमुखी विजेट्स में से एक है। इसका उपयोग विभिन्न आकार, इमेज, और एनिमेटिंग ऑब्जेक्ट्स बनाने के लिए किया जाता है। हम Canvas विजेट में परिभाषित इमेज को move() मेथड का उपयोग करके डायनामिक एट्रिब्यूट प्रदान कर सकते हैं।
move(Image, x,y) मेथड में इमेज और कोऑर्डिनेट्स को पैरामीटर के रूप में परिभाषित करें ताकि इमेज Canvas में घूम सके। हम इमेज को ग्लोबली घोषित करते हैं ताकि Canvas में इमेज लोकेशन ट्रैक की जा सके।
हम अपनी इमेज को कैनवास के भीतर मूवेबल बनाने के लिए इन चरणों का पालन कर सकते हैं,
पहले, Canvas विजेट परिभाषित करें और इसमें इमेज जोड़ें।
इमेज को Canvas के भीतर डायनामिक होने की अनुमति देने के लिए move() फंक्शन परिभाषित करें।
Arrow Keys को उस फंक्शन के साथ बाइंड करें जो Canvas के भीतर इमेज को घुमाने की अनुमति देता है।
उदाहरण
# आवश्यक लाइब्रेरी आयात करें
from tkinter import *
from PIL import Image, ImageTk
# Tkinter फ्रेम का इंस्टेंस बनाएं
win = Tk()
# Tkinter विंडो का आकार सेट करें
win.geometry("700x350")
# Canvas विजेट परिभाषित करें
canvas = Canvas(win, width=600, height=400, bg="white")
canvas.pack(pady=20)
# Canvas विजेट में इमेज जोड़ें
image = ImageTk.PhotoImage(Image.open('favicon.ico'))
img = canvas.create_image(250, 120, anchor=NW, image=image)
def left(e):
x = -20
y = 0
canvas.move(img, x, y)
def right(e):
x = 20
y = 0
canvas.move(img, x, y)
def up(e):
x = 0
y = -20
canvas.move(img, x, y)
def down(e):
x = 0
y = 20
canvas.move(img, x, y)
# मूव फंक्शन बाइंड करें
win.bind("", left)
win.bind("", right)
win.bind("", up)
win.bind("", down)
win.mainloop()
आउटपुट
उपरोक्त कोड चलाने पर एक विंडो प्रदर्शित होगी जिसमें एक इमेज होगी जिसे Arrow Keys का उपयोग करके विंडो के पार घुमाया जा सकता है।

आप Arrow Keys के साथ कैनवास पर ऑब्जेक्ट को घुमा सकते हैं।