不能将RGBA模式写为JPEG

时间:2018-01-14 09:52:57

标签: python-3.6 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

没有这样的 书中有错误。

1 个答案:

答案 0 :(得分:29)

JPG不支持透明度 - RGBA表示RedGreenBlueAlpha - Alpha透明度

您需要放弃Alpha频道或保存为支持透明度的内容 - 例如PNG

image - 类有一个方法convert可用于将RGBA转换为RBG - 之后您可以使用JPG

看看这里:the image class doku

im = Image.open("audacious.png")
rgb_im = im.convert('RGB')
rgb_im.save('audacious.jpg')

改编自:https://stackoverflow.com/a/43258974/7505395