尝试为我的tkinter窗口设置背景。我有一个正方形的背景图像,在边缘变黑,然后主窗口变成黑色背景。图像放置在背景上,如果窗口宽度比高度大,则图像在黑色背景中间居中,而且看起来非常漂亮。Tkinter将窗口大小调整为背景图像(Python 3.4)
但是,当窗口的宽度和高度小于图像的宽度和高度时,它将图像的中心放在窗口的中心,因此看不到整个图像,而且看起来有点奇怪。是否有一种调整图像大小的方法,以便如果窗口的宽度和高度最大值小于图像大小,则将图像调整为该大小,以保持宽高比。
所以说,背景图像是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](http://pillow.readthedocs.org/en/latest/)进行图像大小调整。 – Marcin