首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不使用ImageTk.PhotoImage(data=memoryview)的情况下首先调整Image.open的大小

如何在不使用ImageTk.PhotoImage(data=memoryview)的情况下首先调整Image.open的大小
EN

Stack Overflow用户
提问于 2022-04-01 15:31:46
回答 2查看 151关注 0票数 0

我百分之百肯定这个问题从来没有被问过。我上传了一张图片到postgres数据库。我把它拉到视图中,现在我可以用下面的代码查看它: row19是一个内存视图。这就是为什么我不能用Image.open打开它并调整它的大小。

附加信息:内存视图看起来像这个<memory at 0x000001D203D73100>

代码语言:javascript
运行
复制
imge = row[19]
imgd = ImageTk.PhotoImage(data=imge)
image_label.image = imgd
image_label.config(image=imgd)

问题是我无法调整它的大小。以下是我失败的方法

代码语言:javascript
运行
复制
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’

我也试过了,从它的模块页面检查了这个方法。这并没有给出一个错误,但没有改变图像的大小。

代码语言:javascript
运行
复制
imge = row[19]
imgd = ImageTk.PhotoImage(data=imge, size=(180,180))
image_label.image = imgd
image_label.config(image=imgd)
EN

回答 2

Stack Overflow用户

发布于 2022-04-01 18:37:55

我认为你必须做Image.open

代码语言:javascript
运行
复制
from PIL import Image
i = Image.open("path2")
i.resize((width,height))
img = PIL.ImageTk.PhotoImage(i)
票数 0
EN

Stack Overflow用户

发布于 2022-04-02 15:39:53

ImageTk.PhotoImage类不支持图像大小调整,需要使用Image类:

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71709412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档