0

私は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 など) に変更し (おそらくグリッド レイアウトを使用して)、ボタン内に収まるようにボタンの画像をリサンプルすることはできますか?

4

1 に答える 1

0

Tk のボタン クラス (buttonおよびttk::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しかし、私はちょうど正しいことのように見える -のドキュメントを見て、頭を悩ませています。

于 2013-09-21T19:15:10.233 に答える