首页 > 解决方案 > 调整图像大小时出现 Tkinter 错误

问题描述

我制作了这段代码,在调整大小后显示图像

import tkinter as tk
from PIL import Image, ImageTk

def resize(picname, ratio):
     image = Image.open(picname)
     image = image.resize((int(image.size[0]*ratio), int(image.size[1]*ratio)), Image.ANTIALIAS)
     image = ImageTk.PhotoImage(image)
     return image

swidth, sheight = 1366, 900

root = tk.Tk()
root.geometry(str(swidth)+'x'+str(sheight)+'+0+0')

cv = tk.Canvas(root, width = swidth, height = sheight)
cv.pack()

tempimage = resize('man.gif', 1.5)
imaj = cv.create_image(0, 0, image = tempimage, tag ='man')

while True:
    cv.coords('man', 500, 500)
    print(cv.coords(imaj))
    cv.update()

tk.mainloop()

但是这段代码不显示图片即使我检查输出我得到 [500.0, 500.0]

此代码无需“调整大小”即可工作,知道为什么吗?

编辑:

我从这个链接中得到了调整大小的代码,来自 Joshkunz 的回答。当我有一个图像对象时,此代码有效。但由于某种原因,当我有多个时不是这样。有人可以解释一下吗!

标签: python-3.xtkinterpython-imaging-library

解决方案


推荐阅读