web-dev-qa-db-ja.com

モードRGBAをJPEGとして書き込めません

本「退屈なものをPythonで自動化する」に従って「pillow 5.0」を使用することを学んでいます

画像オブジェクトに関する情報

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

本にはそのようなnエラーはありません。

14
user9062604

JPGtransparencyをサポートしていません-RGBARedGreenBlueAlpha-Alphatransparency

Alphaチャンネルを破棄するか、PNGのような透明性をサポートするものとして保存する必要があります。

image- classには、convertRGBAに変換するために使用できるメソッドRBGがあります-その後、JPGを使用できます。

こちらをご覧ください: 画像クラスdok

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

適応元: https://stackoverflow.com/a/43258974/7505395

38
Patrick Artner