Python / Tkinter:水平拉伸图像?

时间:2010-11-03 05:10:09

标签: python image user-interface tkinter

是否可以水平拉伸图像?

使用案例:我有一个像素宽(60像素高)的图像,我想水平拉伸以填充其父容器。拉伸此图像的目的是为相关容器提供渐变背景的外观。

这是我尝试的没有成功(渐变图像显示,但只是中心本身与拉伸):

import Tkinter as tkinter
root = tkinter.Tk()

image = tkinter.PhotoImage( file='gradient1.gif' )
imgBackground = tkinter.Label( image=image )
imgBackground.pack( side='top', fill='x', expand=True )

root.mainloop()

1 个答案:

答案 0 :(得分:1)

不,没有办法拉伸图像来填充容器。但是,您可以检测窗口小部件何时更改大小,并且可以“重新绘制”渐变。使用画布,并创建一个绘制渐变的<Configure>绑定。这听起来很慢,但假设你没有数百个,它足够快。