如何在 Tkinter 中将背景图像调整为窗口大小?

为了处理图像,Python 库提供 Pillow 或 PIL 包,使应用程序能够导入图像并对其执行各种操作。

让我们假设我们想动态地将图像大小调整到它的窗口。在这种情况下,我们必须遵循以下步骤 -

  • 在 Tkinter 应用程序中打开图像。

  • 创建一个 Canvas Widget 并使用create_image(**options)将加载的图像放置在画布中。

  • 定义一个函数来调整加载的图像的大小。

  • 将函数与父窗口配置绑定。

示例

# 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="nhooo.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("nhooo.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 中将背景图像调整为窗口大小? 的全部内容, 来源链接: utcz.com/z/357724.html

回到顶部