如何在图像颜色为黑色时使用枕头将PNG转换为JPEG?

时间:2018-06-07 11:09:52

标签: python png jpeg pillow file-conversion

我查看了以下链接,了解如何将PNG转换为JPG

转换按预期工作,但当图像颜色本身不是黑色时!我有以下图片: pen edit

代码是:

im.convert('RGB').save('test.jpg', 'JPEG')

它使整个画面变黑。我该如何以正确的格式和颜色转换此PNG?颜色可以是从黑到白的任何颜色。

1 个答案:

答案 0 :(得分:2)

像这样转换它,唯一要做的就是找出要设置的backgroundcolor:

from PIL import Image
im = Image.open(r"C:\pathTo\pen.png")

fill_color = (120,8,220)  # your new background color

im = im.convert("RGBA")   # it had mode P after DL it from OP
if im.mode in ('RGBA', 'LA'):
    background = Image.new(im.mode[:-1], im.size, fill_color)
    background.paste(im, im.split()[-1]) # omit transparency
    im = background

im.convert("RGB").save(r"C:\temp\other.jpg")

recolored