问题
I am learning to use 'pillow 5.0' following book 'Automate the boring stuff with python'
The info about the image object
In [79]: audacious = auda
In [80]: print(audacious.format, audacious.size, audacious.mode)
PNG (1094, 960) RGBA
When I tried to convert filetype, it report error.
In [83]: audacious.save('audacious.jpg')
OSError: cannot write mode RGBA as JPEG
There's no such a n error in book.
回答1:
JPG
does not support transparency - RGBA
means Red
, Green
, Blue
, Alpha
- Alpha
is transparency.
You need to discard the Alpha
Channel or save as something that supports transparency - like PNG
.
The Image
class has a method convert
which can be used to convert RGBA
to RGB
- after that you will be able to save as JPG
.
Have a look here: the image class doku
im = Image.open("audacious.png")
rgb_im = im.convert('RGB')
rgb_im.save('audacious.jpg')
Adapted from: https://stackoverflow.com/a/43258974/7505395
来源:https://stackoverflow.com/questions/48248405/cannot-write-mode-rgba-as-jpeg