欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用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

带有透明通道的图片在电脑打开的预览图是这样子的
用python实现带有透明通道的图片像PS图层那样进行叠加
带有透明通道的图片.png如下
用python实现带有透明通道的图片像PS图层那样进行叠加
不带有透明通道的普通图片.png
用python实现带有透明通道的图片像PS图层那样进行叠加
效果图
用python实现带有透明通道的图片像PS图层那样进行叠加

有了这个方法,从本质上就能实现很多类似PS图层叠加的操作了,并且不需要PS工程文件,简直太棒了。
以前在网络上一直找不到这个功能,现在自己“发现研究”出来了,感觉很棒。给自己点个赞吧

上一篇: Weex渲染机制(一)

下一篇: