用python实现带有透明通道的图片像PS图层那样进行叠加
程序员文章站
2024-03-16 10:53:04
...
不点赞白嫖的都是流氓,先上代码后解释
from PIL import Image
infile1 = '/home/huangjx/图片/带有透明通道的图片.png'
infile2 = '/home/huangjx/图片/不带有透明通道的普通图片.png'
outfile = '/home/huangjx/图片/输出.png'
im1 = Image.open(infile1)
r, g, b, a = im1.split()
im2 = Image.open(infile2)
im = Image.composite(im1, im2, a)
"""
Image.composite(image1,image2, mask) ⇒ image
复合类使用给定的两张图像及mask图像作为透明度,插值出一张新的图像。变量mask图像的模式可以为“1”,“L”或者“RGBA”。所有图像必须有相同的尺寸。
链接:https://blog.csdn.net/zhangziju/article/details/79123275
"""
im.save(outfile)
pass
带有透明通道的图片在电脑打开的预览图是这样子的
带有透明通道的图片.png如下
不带有透明通道的普通图片.png
效果图
有了这个方法,从本质上就能实现很多类似PS图层叠加的操作了,并且不需要PS工程文件,简直太棒了。
以前在网络上一直找不到这个功能,现在自己“发现研究”出来了,感觉很棒。给自己点个赞吧
上一篇: Weex渲染机制(一)