一尘不染

无法使用Tkinter调整图像大小

python

我正在尝试在python
2.7中创建一个tkinter项目,用户可以在其中调整窗口的大小,并且窗口中的所有内容都将随之缩放。这意味着画布,画布中的形状以及最重要的是PhotoImages将随窗口缩放。我的问题是我一生都无法正确调整图像大小。我知道subsample并且zoom为此目的而存在,但是首先

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存在,但是出于本项目的目的,我无法下载任何其他库。那我在做什么错?


阅读 234

收藏
2021-01-20

共1个答案

一尘不染

根据文档

子样本(self,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)
2021-01-20