【问题标题】:How to resize a BLOB image stored in my SQLite database?如何调整存储在我的 SQLite 数据库中的 BLOB 图像的大小?
【发布时间】:2021-06-05 23:51:44
【问题描述】:

我正在尝试调整存储在数据库中的 BLOB 图片大小,因为当我将数据库中的原始照片保存为 BLOB 时,我使用了调整大小命令 im = im.resize((170, 170), Image.ANTIALIAS)但似乎它不起作用,只是将原始图片的大小保存在我的数据库中,所以我想的唯一选择是在将其显示到我的框架之前调整存储在我的数据库中的图像的大小,但我不知道怎么做。代码如下:

def show(data):
    img_byte = BytesIO(data)
    img = ImageTk.PhotoImage(Image.open(img_byte))
    Label(frame_form3, image=img).place(x=1, y=1)
    top.image = img

任何建议请告诉我。谢谢

【问题讨论】:

  • 为什么不修复图像大小调整代码以便成功保存?
  • 你已经知道如何从pillow模块中使用Image.resize(),那么实际上有什么问题。
  • 试试img = ImageTk.PhotoImage(Image.open(img_byte).resize((170, 170), Image.ANTIALIAS)。 ?
  • 谢谢大家,现在运行良好
  • @CoolCloud 我试过了,成功了,谢谢。

标签: python python-3.x sqlite tkinter blob


【解决方案1】:

您可以在任何Image 对象上调用resize,例如:

img = ImageTk.PhotoImage(Image.open(img_byte).resize((170, 170), Image.ANTIALIAS)

或者更易读的版本:

im = Image.open(img_byte) # Open
im = im.resize((170, 170), Image.ANTIALIAS) # Change size
img = ImageTk.PhotoImage(im) # Make PhotoImage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2021-11-26
    • 1970-01-01
    相关资源
    最近更新 更多