1. ホーム
  2. python

Pillowを使ってpngをjpegに変換する。

2023-11-17 08:19:19

質問

私は枕を使用してpngをjpegに変換しようとしています。私は成功せずにいくつかのスクリプトを試してみました。これらの2は、このような小さなpng画像で動作するように見えました。

最初のコードです。

from PIL import Image
import os, sys

im = Image.open("Ba_b_do8mag_c6_big.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("colors.jpg")

2つ目のコード

image = Image.open('Ba_b_do8mag_c6_big.png')
bg = Image.new('RGBA',image.size,(255,255,255))
bg.paste(image,(0,0),image)
bg.save("test.jpg", quality=95)

しかし、このような大きな画像を変換しようとすると

私は

Traceback (most recent call last):
  File "png_converter.py", line 14, in <module>
    bg.paste(image,(0,0),image)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1328, in paste
    self.im.paste(im, box, mask.im) ValueError: bad transparency mask

私は何を間違えているのでしょうか?

どのように解決するのですか?

convert()メソッドを使用する必要があります。

from PIL import Image

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

より詳細な情報は http://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.convert