将 tkinter 与 python 一起使用时,使用 Canvas 的 .scale 方法存在困难



>我正在尝试将.gif图像加载到画布中。加载后,将使用画布上的 .scale 方法调整图片大小。图像将重新加载,但不调整大小。

我正在使用python 3.6。我在python 2.7中尝试了它,结果相同,尽管在完整的实现上,而不是下面显示的简化代码。

import tkinter as tk
f = "C:Fanny Poer.gif"
root = tk.Tk() 
dis = tk.Canvas(root) 
dis.grid() 
new_image = tk.PhotoImage(file=f) 
id = dis.create_image(500, 500, image = new_image) 
dis.scale(id, 0, 0, .1, .1) 
root.mainloop()

图像将加载,但不调整大小。我做错了什么?

加载后,将使用画布上的 .scale 方法调整图片大小。

您无法使用scale方法执行此操作。该方法仅影响对象的坐标。它不会调整图像大小。

要调整图像大小,您可以在PhotoImage实例上使用subsamplezoom方法,也可以使用其他库(例如:枕头(来调整图像大小。

最新更新