我正在尝试使用枕头将 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")
第二个代码:
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
我究竟做错了什么?
原文由 alex 发布,翻译遵循 CC BY-SA 4.0 许可协议
你应该使用 convert() 方法:
更多信息:http: //pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.convert