需求:
将带透明底png图片批量转化为jpg格式
遇到的问题:
好多帖子的方法虽然可以将png图片转化为jpg图片,但是转化后的jpg图片有问题,转化后的图片和原图差距太大
解决办法:
直接将png图片paste到纯白图片上面,然后以jpg格式保存
import os
from PIL import Image
dirname_read="存放png图片的文件夹路径"
dirname_write="需要存放jpg图片的文件夹路径"
names=os.listdir(dirname_read)
count=0
for name in names:
img=Image.open(dirname_read+'/'+name)
name=name.split(".")
if name[-1] == "png":
name[-1] = "jpg"
name = str.join(".", name)
x,y = img.size
#im.paste(image,box, mask)
p = Image.new('RGB', img.size, (255,255,255))
p.paste(img, (0, 0, x, y), img)
to_save_path = dirname_write +'/'+name
p.save(to_save_path)
count+=1
print(to_save_path, "------conut:",count)
else:
continue