Python 合并两张图片

发现一个很有意思的图片处理包PIL,可以将两张图片合并成一张,而且很好看。代码如下

python 复制代码
from PIL import Image

# 打开两张图片
image1 = Image.open("1.jpg").convert("RGBA")
image2 = Image.open("2.jpg").convert("RGBA")

# 确保两张图片的大小相同
image2 = image2.resize(image1.size)

# 创建一个新的空白图片,大小与第一张图片相同
result = Image.new('RGBA', image1.size)

# 修改图片2的透明度为0.2并将其放到新的画布上
image2_with_alpha = Image.new("RGBA", image2.size)
for x in range(image2.width):
    for y in range(image2.height):
        r, g, b, a = image2.getpixel((x, y))
        image2_with_alpha.putpixel((x, y), (r, g, b, int(0.2 * a)))

# 将第一张图片放到新的画布上
result.paste(image1, (0, 0))

# 将修改好透明度的第二张图片叠加到新画布上
result = Image.alpha_composite(result, image2_with_alpha)

# 保存结果图片
result.save("result.png")

结果如下

官网参考 https://pillow.readthedocs.io/en/stable/handbook/index.html

相关推荐
民乐团扒谱机7 小时前
【微实验】谐波乘积谱(HPS)算法深度解析:原理、数学与代码实现
开发语言·人工智能·python·算法·语音识别·音乐
我星期八休息8 小时前
网络编程—NAT、代理服务与内网穿透
linux·服务器·网络·网络协议
小白勇闯网安圈8 小时前
Django Ajax、批量操作与分页实践
python·django
Logintern098 小时前
Langgraph使用MemorySaver建立有记忆的图
开发语言·windows·python
Uncommon.8 小时前
使用pandas处理csv并转为张量
pytorch·python·深度学习·pandas
袅沫8 小时前
Nginx中部署多个前端项目——区分路径
服务器·前端
fei_sun8 小时前
UVM中的TLM1.0通信
运维·服务器·uvm
MartinYeung59 小时前
[论文学习]MCPTox:面向真实世界MCP服务器的工具投毒攻击基准测试
运维·服务器·学习
上玄code9 小时前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt
Uncommon.9 小时前
使用Pytorch操作张量(多维数组)
人工智能·pytorch·python