PIL除了save()之外还有其他可转换图片格式的API吗?

需要把一个jpg格式的文件转成png,然后上传,源文件来自网络。
目前我知道的:

pythonfrom PIL import Image

with open('a.jpg', 'w') as w:
    w.write(data)
orin = Image.open('a.jpg')
orin.save('a.png')

显然需要耗费多余的两次磁盘IO,有没有更好的转换方法呢?

阿波罗的战车
浏览 488回答 1
1回答

哔哔one

你用的是 Python 啊啊啊,给 PIL「file-like objects」就行,谁说一定要是位于磁盘上的文件了? python>>> data = open('b.png', 'rb').read() >>> from PIL import Image >>> import io >>> ifile = io.BytesIO(data) >>> im = Image.open(ifile) >>> ofile = io.BytesIO() >>> im.save(ofile, 'JPEG') >>> converted_data = ofile.getvalue() 完全不用磁盘,把位于 data 中的 PNG 数据转成 converted_data 中的 JPEG 数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python