Để resize ảnh động theo cửa sổ: mở ảnh, tạo Canvas, dùng create_image, định nghĩa hàm resize_image, bind với
Ví dụ
# Import thư viện
from tkinter import *
from PIL import ImageTk, Image
# Tạo khung
win = Tk()
win.geometry("700x450")
# Mở ảnh
bg = ImageTk.PhotoImage(file="tutorialspoint.png")
# Tạo Canvas
canvas = Canvas(win, width=700, height=3500)
canvas.pack(fill=BOTH, expand=True)
# Đặt ảnh lên Canvas
canvas.create_image(0, 0, image=bg, anchor='nw')
# Hàm resize ảnh
def resize_image(e):
global image, resized, image2
image = Image.open("tutorialspoint.png")
resized = image.resize((e.width, e.height), Image.ANTIALIAS)
image2 = ImageTk.PhotoImage(resized)
canvas.create_image(0, 0, image=image2, anchor='nw')
# Bind với sự kiện configure cửa sổ
win.bind("", resize_image)
win.mainloop() Kết quả
Cửa sổ hiển thị ảnh tự động resize khi thay đổi kích thước.
