চিত্রগুলির সাথে কাজ করার জন্য, পাইথন লাইব্রেরি পিলো বা পিআইএল প্যাকেজ সরবরাহ করে যা অ্যাপ্লিকেশনগুলিকে ছবি আমদানি করতে এবং সেগুলিতে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করতে সক্ষম করে৷
ধরুন আমরা একটি ইমেজকে তার উইন্ডোতে গতিশীলভাবে রিসাইজ করতে চাই। এই ধরনের ক্ষেত্রে, আমাদের এই পদক্ষেপগুলি অনুসরণ করতে হবে -
-
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() কনফিগার করতে ফাংশনটি বাঁধুন
আউটপুট
উপরের কোডটি চালানোর ফলে একটি চিত্র সম্বলিত একটি উইন্ডো প্রদর্শিত হবে যা গতিশীলভাবে পুনরায় আকার দেওয়া যেতে পারে৷
