J'apprends à utiliser 'pillow 5.0', le livre suivant 'Automatisez le truc ennuyeux avec du python'
L'information sur l'objet image
In [79]: audacious = auda
In [80]: print(audacious.format, audacious.size, audacious.mode)
PNG (1094, 960) RGBA
Lorsque j'ai essayé de convertir un type de fichier, il signale une erreur.
In [83]: audacious.save('audacious.jpg')
OSError: cannot write mode RGBA as JPEG
Il n'y a pas une telle erreur dans le livre.
JPG
ne supporte pas la transparence - RGBA
signifie Red
, Green
, Blue
, Alpha
- Alpha
est transparence .
Vous devez supprimer le canal Alpha
ou enregistrer sous un format compatible avec la transparence, comme PNG
.
La classe image
- a une méthode convert
qui peut être utilisée pour convertir RGBA
en RBG
- après quoi vous pouvez utiliser JPG
.
Regardez ici: le doku de classe d'image
im = Image.open("audacious.png")
rgb_im = im.convert('RGB')
rgb_im.save('audacious.jpg')
Adapté de: https://stackoverflow.com/a/43258974/7505395