用python实现带有透明通道的图片像PS图层那样进行叠加

不点赞白嫖的都是流氓,先上代码后解释

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工程文件,简直太棒了。
以前在网络上一直找不到这个功能,现在自己“发现研究”出来了,感觉很棒。给自己点个赞吧

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值