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

相关推荐
不愿透露姓名的大鹏13 小时前
MySQL Binlog配置优化全攻略
运维·服务器·数据库·mysql·adb
程序设计实验室13 小时前
Python网络请求库,从 requests 到 httpx
python
电商API&Tina13 小时前
跨境电商如何接入1688官方寻源通接口?附接入流程
java·数据库·python·sql·oracle·json·php
IMPYLH13 小时前
Linux 的 mkdir 命令
linux·运维·服务器·bash
yy_xzz13 小时前
【Linux开发】多线程并发服务器(网络编程+多线程+线程同步实现的聊天服务器和客户端)
linux·服务器·网络
网络研究员13 小时前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
Lyyaoo.13 小时前
【Java基础面经】Java 注解的底层原理
java·开发语言·python
HAPPY酷13 小时前
PyCharm 终极避坑指南:环境选择、镜像加速与包管理
ide·python·pycharm
如竟没有火炬13 小时前
搜索二维矩阵
数据结构·python·算法·leetcode·矩阵
郝学胜-神的一滴13 小时前
自动微分实战:梯度下降的迭代实现与梯度清零核心解析
人工智能·pytorch·python·深度学习·算法·机器学习