我正在尝试为我的tkinter窗口设置背景。我有一个正方形的背景图像,边缘渐变为黑色,然后主窗口有一个黑色背景。图像被放置在背景上,如果窗口比高度更宽,图像会在黑色背景中央居中,整个效果看起来非常好。
但是当窗口小于图像的宽度和高度时,它会将图像的中心放在窗口的中心,因此您无法看到整个图像,看起来有点奇怪。是否有一种方法可以调整图像的大小,以便在窗口的宽度和高度中最大的一个小于图像时,保持纵横比地调整图像的大小。
所以说背景图像是600x600
:
- 在
800x400
的窗口中,图像不会调整大小,垂直居中。 - 在
500x400
的窗口中,图像会调整大小为500x500
,仍然垂直居中。 - 在
400x900
的窗口中,图像不会调整大小,水平居中。
居中功能已经存在,我只需要调整大小功能。
目前我所拥有的是:
from tkinter import *
root = Tk()
root.title("Title")
root.geometry("600x600")
root.configure(background="black")
background_image = PhotoImage(file="Background.gif")
background = Label(root, image=background_image, bd=0)
background.pack()
root.mainloop()
不确定在tkinter中是否有一种方法可以做到这一点?或者我是否应该编写自己的函数,根据窗口大小调整图像大小,但是如果用户在任何时候调整窗口大小,图像需要相对平滑和快速地调整大小。