在内存中获取压缩图像字节表示

2024-04-29 03:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎样才能获得与:

from PIL import Image
with Image.open(image_path) as image:
  image.thumbnail((200, 200), Image.ANTIALIAS)
  image.save(temporary_thumbnail_path)
with open(temporary_thumbnail_path, "rb") as thumbnail_file:
  thumbnail_as_string = base64.b64encode(thumbnail_file.read()).decode()

不用写磁盘?在

也就是说,我想得到压缩图像的字节表示,但不必求助于temporary_thumbnail_path。 我知道PIL文档建议使用

save(), with a BytesIO parameter for in-memory data.

我不知道这些例子是什么意思。在


Tags: pathfromimageimportpilsaveaswith
1条回答
网友
1楼 · 发布于 2024-04-29 03:29:04

这并不难:

import io
from PIL import Image

output = io.BytesIO()
with Image.open(image_path) as image:
  image.thumbnail((400, 400), Image.ANTIALIAS)
  image.save(output, format="JPEG")
  thumbnail_as_string = base64.b64encode(output.getvalue()).decode()

相关问题 更多 >