如何在图像有效时限制按钮的大小?

时间:2013-08-27 10:54:34

标签: tcl tk

我正在Tk中尝试按钮,我已经将图像加载到一个按钮:

package require Tk

image create photo myimage -file "../button.png"
ttk::button .button -image myimage

place .button -x 0 -y 0

然而,button.png图像非常大(200x100),因此按钮会自行调整大小以显示整个图像。是否可以将按钮调整到特定尺寸,例如100x50(可能是通过使用网格布局?),并让按钮重新采样其图像,使其适合按钮?

1 个答案:

答案 0 :(得分:0)

Tk的按钮类(buttonttk::button)通过调整自身大小以准确包含内容来处理图像。他们永远不会自动重新采样(这一点有点棘手,因为正确的方法取决于图像内容的细节)图像;你必须自己做。

image create photo myimage -file "../button.png"
set subsampled [image create photo]
$subsampled copy myimage -subsample 2 2
ttk::button .button -image $subsampled

place .button -x 0 -y 0

Tk内置的子采样代码不是很好!如果您知道自己在处理图像处理方面做了什么(嗯,比我更多!)那么您可以使用CRIMP做更好的事情。但我只看一下crimp decimate xy的文档 - 这似乎是正确的 - 并且让我头疼。