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

相关推荐
buhuizhiyuci3 分钟前
【python篇——一周速通python语法】python的基础语法操作
开发语言·python
晚风吹长发7 分钟前
探索软件测试——用例篇
大数据·linux·服务器·压力测试·测试·测试方法
ZENERGY-众壹10 分钟前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维
梦想的旅途219 分钟前
企业微信API 实现企业微信消息的自动发送?
java·服务器·前端
CHANG_THE_WORLD23 分钟前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
运维大师28 分钟前
【Linux运维极简教程】10-日志管理与故障排查
linux·运维·服务器
聚焦前沿30 分钟前
2026服务器热管理阀门选型白皮书
运维·服务器
盼小辉丶43 分钟前
OpenCV-Python实战——分析与加速OpenCV应用程序
python·神经网络·opencv·计算机视觉
明亮 Blog1 小时前
Wi-Fi 6/7的物联网“芯”机遇:高带宽低延时如何重塑智慧工厂的AGV物流革命
服务器·网络·数据库
buhuizhiyuci1 小时前
【python篇——一周速通python语法】python的条件语句和循环语句
开发语言·python