【发布时间】:2014-07-26 12:00:13
【问题描述】:
尝试为我的 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 中是否有这样做的方法?或者如果我可能会编写自己的函数来根据窗口大小调整图像大小,但是如果用户在任何时候调整窗口大小,图像需要相对平滑和快速地调整大小。
【问题讨论】:
-
使用pillow 调整图像大小。
标签: python python-3.x tkinter