我正在学习使用“pillow 5.0”,跟随《用 python 自动执行无聊的事情》一书
有关图像对象的信息
In [79]: audacious = auda
In [80]: print(audacious.format, audacious.size, audacious.mode)
PNG (1094, 960) RGBA
当我尝试转换文件类型时,它报告错误。
In [83]: audacious.save('audacious.jpg')
OSError: cannot write mode RGBA as JPEG
没有这样的 书上有错误。
JPG
不支持透明 - RGBA
表示Red
、Green
、Blue
、Alpha
- Alpha
是透明。
您需要丢弃
Alpha
通道或另存为支持透明度的内容 - 例如 PNG
。
Image
类有一个方法convert
,可用于将RGBA
转换为RGB
- 之后您将能够另存为JPG
。
看看这里:图像类doku
im = Image.open("audacious.png")
rgb_im = im.convert('RGB')
rgb_im.save('audacious.jpg')
改编自 dm2013 的答案 Convert png to jpeg using Pillow
您只能使用
.png
模式在RGBA
中保存图像
im = Image.open("audacious.jpg")
rgb_im = im.convert('RGBA')
rgb_im.save('audacious.png')