Pillow是python的一个功能强大的图像处理的库,可对图像进行高质量的压缩变换等操作,前几天看到一些公众号,提供了为用户头像加装饰的操作,于是自己试了一下,20行搞定!
网络上能看到的拼接图片的教程,需要手动指定透明位置,下面提供的方法,直接分离了透明图层,可简单快速的图像拼接;而且实现了图片尺寸的简单变换,用户提供任意尺寸的图片,都可以输出300*300的标准头像尺寸
原图:
效果图:
源码:
from PIL import Image
#创建底图
target = Image.new('RGBA', (300, 300), (0, 0, 0, 0))
#打开头像
nike_image = Image.open("./image1.png")
nike_image = nike_image.resize((300, 300))
#打开装饰
hnu_image = Image.open("./hnu.png")
# 分离透明通道
r,g,b,a = hnu_image.split()
# 将头像贴到底图
nike_image.convert("RGBA")
target.paste(nike_image, (0,0))
#将装饰贴到底图
hnu_image.convert("RGBA")
target.paste(hnu_image,(0,0), mask=a)
# 保存图片
target.save("f.png")