Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Tkinter Canvas आयत को पारदर्शी कैसे बनाएं?


Canvas विजेट Tkinter लाइब्रेरी में सबसे बहुमुखी विजेट में से एक है। आमतौर पर, इसका उपयोग किसी भी एप्लिकेशन में आकृतियाँ बनाने, ऑब्जेक्ट्स को एनिमेट करने और जटिल ग्राफिक्स बनाने के लिए किया जाता है। आयत जैसी आकृतियाँ बनाने के लिए, हम create_rectangle(x, y, x+width, y+height, **options) मेथड का उपयोग करते हैं। हम कैनवस पर आइटम को चौड़ाई, ऊंचाई, फिल और bg, बॉर्डर चौड़ाई जैसी प्रॉपर्टी जोड़कर कॉन्फ़िगर कर सकते हैं।

Canvas में alpha प्रॉपर्टी कैनवस आइटम की पारदर्शिता को परिभाषित करती है। हालांकि, यह प्रॉपर्टी Tkinter लाइब्रेरी में उपलब्ध नहीं है; इस प्रकार, हमें आकृति में पारदर्शिता एट्रिब्यूट प्रदान करने के लिए एक फंक्शन परिभाषित करना होगा। पारदर्शिता एट्रिब्यूट के लिए फंक्शन बनाने के चरण हैं:

  • एक इनबिल्ट फंक्शन create_rectangle(x, y, a, b, **options) परिभाषित करें।
  • आकृति को प्रदान किए जाने वाले प्रत्येक कलर (RGB) के लिए alpha की गणना करें।
  • pop() का उपयोग करके आकृति से पूर्वनिर्धारित alpha (यदि लागू हो) को हटाएं।
  • winfo_rgb() का उपयोग करके क्षेत्र में आकृति का कलर गणना करें और आकृति में alpha जोड़ें।
  • चूंकि एक नई बनी आकृति का अलग कलर और बैकग्राउंड होगा, इसलिए इसे इमेज के रूप में उपयोग करने की आवश्यकता है।
  • इमेज को कैनवस में आसानी से प्रदर्शित किया जा सकता है।

उदाहरण

# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *
from PIL import Image, ImageTk

# Tkinter फ्रेम का इंस्टेंस बनाएं
win = Tk()

# Tkinter विंडो का आकार सेट करें
win.geometry("700x350")

# नई बनी इमेज स्टोर करें
images = []

# पारदर्शी आयत बनाने के लिए फंक्शन परिभाषित करें
def create_rectangle(x, y, a, b, **options):
    if 'alpha' in options:
        # प्रत्येक कलर (RGB) के लिए अल्फा पारदर्शिता की गणना करें
        alpha = int(options.pop('alpha') * 255)
        # आकृति को पारदर्शी कलर से भरने के लिए फिल वेरिएबल का उपयोग करें
        fill = options.pop('fill')
        fill = win.winfo_rgb(fill) + (alpha,)
        image = Image.new('RGBA', (a - x, b - y), fill)
        images.append(ImageTk.PhotoImage(image))
        canvas.create_image(x, y, image=images[-1], anchor='nw')
        canvas.create_rectangle(x, y, a, b, **options)

# Canvas विजेट जोड़ें
canvas = Canvas(win)

# Canvas में आयत बनाएं
create_rectangle(50, 110, 300, 280, fill="blue", alpha=.3)
create_rectangle(40, 90, 420, 250, fill="red", alpha=.1)

canvas.pack()
win.mainloop()

आउटपुट

उपरोक्त कोड चलाने पर कैनवस में कई पारदर्शी आयत प्रदर्शित होंगी।

Tkinter Canvas आयत को पारदर्शी कैसे बनाएं?


  1. Python Tkinter में Canvas पर Image Center कैसे करें? Python Tkinter में Canvas पर Image Center कैसे करें?

    मान लीजिए हम Tkinter का उपयोग करके GUI-based एप्लिकेशन बना रहे हैं और हम Tkinter canvas में एक image load करना चाहते हैं। Default रूप से, canvas images को इसकी width और height के अनुसार load करता है। हालांकि, हम Direction value को anchor parameter में pass करके किसी भी direction (N, S, E, W, NS, EW,

  1. MS Paint में पारदर्शी पृष्ठभूमि बनाएं: चरण-दर-चरण मार्गदर्शिका MS Paint में पारदर्शी पृष्ठभूमि बनाएं: चरण-दर-चरण मार्गदर्शिका

    क्या आप कभी ऐसी स्थिति में रहे हैं जहां आपको एक छवि के कुछ हिस्सों को दूसरी छवि पर कॉपी करना पड़ा हो? आप निश्चित रूप से रहे होंगे; चाहे ग्रुप चैट पर भेजने के लिए मीम बनाना हो या किसी अन्य प्रोजेक्ट के लिए। यह पहले एक पारदर्शी छवि/पृष्ठभूमि बनाकर किया जाता है जो किसी भी पृष्ठभूमि का प्रभाव ले सकती ह

  1. विंडोज 10 टास्कबार को आसानी से पारदर्शी बनाएं: सरल चरण-दर-चरण मार्गदर्शिका विंडोज 10 टास्कबार को आसानी से पारदर्शी बनाएं: सरल चरण-दर-चरण मार्गदर्शिका

    यूजर इंटरफेस कंपोनेंट्स को कस्टमाइज़ करके, कई व्यक्ति अपने विंडोज 10 अनुभव को संशोधित करने का आनंद लेते हैं। विंडोज 10 आपके कंप्यूटर के लुक को पर्सनलाइज़ करने के लिए कई विकल्प प्रदान करता है। कई लोगों ने पाया है कि इन चयनों के बीच आपके टास्कबार के डिज़ाइन को कस्टमाइज़ करने का कोई तरीका नहीं है। आप अ