কম্পিউটার

কিভাবে Tkinter এ উইন্ডোর আকারে ব্যাকগ্রাউন্ড ইমেজ রিসাইজ করবেন?


চিত্রগুলির সাথে কাজ করার জন্য, পাইথন লাইব্রেরি পিলো বা পিআইএল প্যাকেজ সরবরাহ করে যা অ্যাপ্লিকেশনগুলিকে ছবি আমদানি করতে এবং সেগুলিতে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করতে সক্ষম করে৷

ধরুন আমরা একটি ইমেজকে তার উইন্ডোতে গতিশীলভাবে রিসাইজ করতে চাই। এই ধরনের ক্ষেত্রে, আমাদের এই পদক্ষেপগুলি অনুসরণ করতে হবে -

  • Tkinter অ্যাপ্লিকেশনে চিত্রটি খুলুন।

  • একটি ক্যানভাস উইজেট তৈরি করুন এবং create_image(**বিকল্প) ব্যবহার করুন লোড করা ছবি ক্যানভাসে রাখতে।

  • লোড করা চিত্রের আকার পরিবর্তন করতে একটি ফাংশন সংজ্ঞায়িত করুন।

  • প্যারেন্ট উইন্ডো কনফিগারেশনের সাথে ফাংশনটি আবদ্ধ করুন।

উদাহরণ

# Import the required libraries
from tkinter import *
from PIL import ImageTk, Image

# Create an instance of Tkinter Frame
win = Tk()

# Set the geometry of Tkinter Frame
win.geometry("700x450")

# Open the Image File
bg = ImageTk.PhotoImage(file="tutorialspoint.png")

# Create a Canvas
canvas = Canvas(win, width=700, height=3500)
canvas.pack(fill=BOTH, expand=True)

# Add Image inside the Canvas
canvas.create_image(0, 0, image=bg, anchor='nw')

# Function to resize the window
def resize_image(e):
   global image, resized, image2
   # open image to resize it
   image = Image.open("tutorialspoint.png")
   # resize the image with width and height of root
   resized = image.resize((e.width, e.height), Image.ANTIALIAS)

   image2 = ImageTk.PhotoImage(resized)
   canvas.create_image(0, 0, image=image2, anchor='nw')

# Bind the function to configure the parent window
win.bind("<Configure>", resize_image)
win.mainloop()
কনফিগার করতে ফাংশনটি বাঁধুন


আউটপুট

উপরের কোডটি চালানোর ফলে একটি চিত্র সম্বলিত একটি উইন্ডো প্রদর্শিত হবে যা গতিশীলভাবে পুনরায় আকার দেওয়া যেতে পারে৷

কিভাবে Tkinter এ উইন্ডোর আকারে ব্যাকগ্রাউন্ড ইমেজ রিসাইজ করবেন?


  1. Tkinter এ পর্দায় একটি উইন্ডো কেন্দ্রে কিভাবে?

  2. কিভাবে অন্যদের উপরে একটি Tkinter উইন্ডো রাখা?

  3. কিভাবে একটি ধ্রুবক আকারে একটি Tkinter উইন্ডো সেট করবেন?

  4. কিভাবে একটি Mac এ একটি চিত্রের আকার পরিবর্তন করতে হয়