我百分之百肯定这个问题从来没有被问过。我上传了一张图片到postgres数据库。我把它拉到视图中,现在我可以用下面的代码查看它: row19是一个内存视图。这就是为什么我不能用Image.open打开它并调整它的大小。
附加信息:内存视图看起来像这个<memory at 0x000001D203D73100>
imge = row[19]
imgd = ImageTk.PhotoImage(data=imge)
image_label.image = imgd
image_label.config(image=imgd)问题是我无法调整它的大小。以下是我失败的方法
imge = row[19]
imgd = ImageTk.PhotoImage(data=imge)
imgd = imgd.resize(180,180)
image_label.image = imgd
image_label.config(image=imgd)最后我得到了这样的结果: AttributeError:'PhotoImage‘对象没有属性'resize’
我也试过了,从它的模块页面检查了这个方法。这并没有给出一个错误,但没有改变图像的大小。
imge = row[19]
imgd = ImageTk.PhotoImage(data=imge, size=(180,180))
image_label.image = imgd
image_label.config(image=imgd)发布于 2022-04-01 18:37:55
我认为你必须做Image.open
from PIL import Image
i = Image.open("path2")
i.resize((width,height))
img = PIL.ImageTk.PhotoImage(i)发布于 2022-04-02 15:39:53
ImageTk.PhotoImage类不支持图像大小调整,需要使用Image类:
from io import BytesIO
from PIL import Image, ImageTk
...
imge = BytesIO(row[19])
imge = Image.open(imge).resize((180,180))
imgd = ImageTk.PhotoImage(imge)
image_label.image = imgd
image_label.config(image=imgd)https://stackoverflow.com/questions/71709412
复制相似问题