如何在Python中调整base64编码的图像大小

6
我想在Python中调整大小base64编码的图片。我搜索了,但没有找到相关内容。我尝试使用Pillow包进行操作,但是该包没有这样的功能。

2
我认为没有一个库可以操作base64编码的图像。需要先将其转换为普通格式,进行调整大小,再转换回base64编码。 - Ecir Hana
1个回答

8

这段代码可以完成任务(Python 3):

import io
import base64
from PIL import Image

base64_str = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

buffer = io.BytesIO()
imgdata = base64.b64decode(base64_str)
img = Image.open(io.BytesIO(imgdata))
new_img = img.resize((2, 2))  # x, y
new_img.save(buffer, format="PNG")
img_b64 = base64.b64encode(buffer.getvalue())
print(str(img_b64)[2:-1])

编辑:减小base64图像的尺寸并不意味着减小文件大小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接