在python中使用Pillow将png转换为jpeg [英] Convert png to jpeg using Pillow in python
问题描述
我正在尝试使用枕头将png转换为jpeg。我试过几次没有成功。这两个似乎适用于像这样的小png图像。
第一个代码:
来自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(图片,(0,0),图片)
bg.save(test.jpg,quality = 95)
但如果我尝试转换像这样的更大的图像
我得到了
Tr aceback(最近一次调用最后一次):
文件png_converter.py,第14行,
bg .paste(image,(0,0),image)文件/usr/lib/python2.7/dist-packages/PIL/Image.py,第1328行,粘贴
self.im.paste(im,box,mask.im)ValueError:错误的透明度掩码
我是什么做错了?
你应该使用convert()方法:
<$来自PIL导入的p $ p>
图片
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
I am trying to convert png to jpeg using pillow. I've tried several scrips without success. These 2 seemed to work on small png images like this one.
First code:
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")
Second code:
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)
But if I try to convert a bigger image like this one
i'm getting
Traceback (most recent call last):
File "png_converter.py", line 14, in
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
What am i doing wrong?
You should use convert() method:
from PIL import Image
im = Image.open("Ba_b_do8mag_c6_big.png")
rgb_im = im.convert('RGB')
rgb_im.save('colors.jpg')
more info: http://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.convert
这篇关于在python中使用Pillow将png转换为jpeg的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!