示例图片请忽略广告内容,侵权找我,我删除
原图图层1(浏览器观看具有透明通道的png图片为白色)

原图图层2(浏览器观看具有透明通道的png图片为白色)

结果图片

完整代码如下,请看代码注释
def CompositePng(png1, png2, out):
"""
将两张PNG图片进行叠加,核心运用的函数是Image.composite
png1:前景
png2:背景
"""
im1 = Image.open(png1)
r, g, b, a = im1.split() # 提取透明通道
w1, h1 = im1.size
im2 = Image.open(png2)
w2, h2 = im2.size
# todo 这个if-else结构的操作其实就是将前景和背景图片的图片尺寸做个修改,以防尺寸不一样带来的错误
if w2 >= h2:
radio = h2 / h1
w3 = int(w2 / radio)
h3 = int(h2 / radio)
im2 = im2.resize((w3, h3)) <

该博客介绍了如何使用Python的Pillow库进行PNG图片的叠加与合成。通过Image.composite()函数,实现了两张PNG图片的尺寸调整、透明通道处理和最终的图片合并。此外,还展示了图片的基本操作,如读取、保存、裁剪和粘贴等,以及如何处理透明通道进行图层叠加,适合于图像处理和深度学习数据增强场景。
最低0.47元/天 解锁文章
992

被折叠的 条评论
为什么被折叠?



