我制作了这段代码,可以在调整大小后显示图像
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]
此代码无需“调整大小”即可工作,知道为什么吗?
编辑:
我从this link得到了调整大小的代码,这是乔什库恩茨(Joshkunz)的回答。 当我有一个图像对象时,此代码有效。但是由于某种原因,当我有多个时,却没有。有人可以解释一下!