0

当我运行这个枕头代码时:

from PIL import Image

image = Image.open(BytesIO(some_bytes))
resized = image.resize((44, 44))
with open('filename.png', 'wb') as file:
    file.write(resized.tobytes())

没有发生错误,但是当我转到文件“filename.png”时,我的计算机或任何其他软件都无法显示该文件,大概是因为字节无效。为什么会这样?

resized.tobytes()似乎返回字节,所以我不确定为什么图片的字节无效。当我只是将我的正常字节写入 filename.png 时,它可以工作,所以这不是无效的。只有调整大小的。

为什么会这样,我该如何解决?

4

1 回答 1

0

Jason Yang 在评论中回答 -

方法Image.tobytes从内部存储返回原始图像数据。对于压缩图像数据(例如 PNG、JPEG),请使用 save(),并为内存中的数据使用 BytesIO 参数。

于 2022-02-09T07:27:51.810 回答