我正在尝试使用枕头将png转换为jpeg.我试过几次没有成功.这两个似乎适用于像这样的小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")
Run Code Online (Sandbox Code Playgroud)
第二个代码:
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)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试转换像这样的更大的图像
我越来越
Traceback(最近一次调用最后一次):
文件"png_converter.py",第14行,in
bg.paste(image,(0,0),image)文件"/usr/lib/python2.7/dist-packages/PIL/Image.py",第1328行,粘贴
self.im.paste(im,box,mask.im)ValueError:错误的透明度掩码
我究竟做错了什么?
我正在尝试使用这种方法为图像添加半透明多边形.问题是图像是JPEG.我知道JPEG没有alpha通道,所以我希望有一种方法可以让PIL接收JPEG,将其转换为具有alpha通道的形式,添加半透明蒙版,然后合并屏蔽图像并将其转换回JPEG以便保存.PIL可以做到这一点吗?如果没有,我还能怎么做呢?谢谢!