Để làm việc với hình ảnh, Thư viện Python cung cấp gói Pillow hoặc PIL cho phép các ứng dụng nhập hình ảnh và thực hiện các thao tác khác nhau trên chúng.
Giả sử rằng chúng ta muốn thay đổi kích thước một hình ảnh theo cách linh hoạt trong cửa sổ của nó. Trong trường hợp đó, chúng tôi phải làm theo các bước sau -
-
Mở Hình ảnh trong Ứng dụng Tkinter.
-
Tạo Tiện ích con Canvas và sử dụng create_image (** tùy chọn) để đặt hình ảnh đã tải vào canvas.
-
Xác định một chức năng để thay đổi kích thước hình ảnh đã tải.
-
Liên kết chức năng với cấu hình cửa sổ mẹ.
Ví dụ
# 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()
Đầu ra
Chạy đoạn mã trên sẽ hiển thị một cửa sổ chứa hình ảnh có thể được thay đổi kích thước động.