Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thay đổi kích thước ảnh nền theo cửa sổ Tkinter

Để 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 của cửa sổ cha.

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.

Thay đổi kích thước ảnh nền theo cửa sổ Tkinter