4

ユーザーがウィンドウのサイズを変更できるPython 2.7でtkinterプロジェクトを作成しようとしています。ウィンドウ内のすべてがそれに合わせてスケーリングされます。これは、キャンバス、キャンバス内の形状、そして最も重要なこととして、PhotoImages がウィンドウに合わせてスケーリングされることを意味します。私の問題は、私の人生では、画像のサイズを適切に変更できないことです。そんなことは分かっていて、そのためsubsamplezoom存在しているのですが、まずは

plantImage = PhotoImage(file="images/Arable_Cell.gif")
plantImage.subsample(2, 2)
canvas.create_image(0, 0, anchor=NW, image=plantImage)

50x50 ピクセルの画像では目立った変化はなく、zoom(2, 2) でも同様です。PIL が存在することは知っていますが、このプロジェクトのために追加のライブラリをダウンロードすることはできません。それで、私は何を間違っていますか?

4

1 に答える 1

9

ドキュメントによると、

subsample(自己、x、y='')

このウィジェットと同じ画像に基づいて新しい PhotoImage を返しますが、X 番目または Y 番目のピクセルごとにのみ使用します。

つまりsubsample、画像を変更するのではなく、新しい画像を作成するので、代わりにこれを試してください:

originalPlantImage = PhotoImage(file="images/Arable_Cell.gif")
displayPlantImage = originalPlantImage.subsample(2, 2)
canvas.create_image(0, 0, anchor=NW, image=displayPlantImage)
于 2013-08-19T14:33:13.937 に答える