Python使用PIL库实现图片叠加的方法

陆景行
陆景行
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何利用Python的PIL库实现图片叠加功能。通过Image模块的open、new及paste方法,可以将一张图片粘贴到另一张图片的指定坐标位置。文中提供了完整的代码示例,演示了创建新图像、打开现有图像以及执行粘贴操作的具体步骤,适合需要处理基础图像合成的开发者参考。

Python图片叠加概述

在前文讲解了为图片添加文字的基础上,本节继续探讨如何在图片上叠加另一张图片,即实现图像合成效果。

PIL库核心函数介绍

实现该功能主要依赖Python的PIL(Pillow)图像库。以下是涉及的核心知识点概述:

Image模块:负责图像的创建、打开及保存操作。

  • new(path):用于创建一个新的图片文件,文件路径由path指定。执行后返回一个Image类型的对象。
  • open(path):用于打开已存在的图片文件,路径由path指定。执行后返回一个Image类型的对象。
  • save(path):用于将当前创建或打开的图片保存到path指定的路径中。
  • paste(img,(x,y)):用于将img引用的图片粘贴到目标图像上,粘贴的起始坐标由第二个参数(x,y)决定。

上述函数中,仅paste()函数为新增介绍内容,其余函数在前文已有涉及。

以下是完整的实现代码,供参考:

完整代码实现与解析


from PIL import Image

def addImg(img):
 markImg = Image.new('RGBA',(120,120),'white')
 img.paste(markImg,(0,0))
 img.save(path)

path = input("Please input the image file with path: ")

try:
 print("path: "+path)
 oriImg = Image.open(path)
 addImg(oriImg)
 oriImg.show()
except IOError:
 print("can't open the file,check the path again")
 newImg = Image.new('RGBA',(320,240),'blue')
 newImg.save(path)

代码逻辑首先创建一个尺寸为320x240的蓝色背景图像,随后创建一个尺寸为120x120的白色图像。接着利用paste()函数将白色图像叠加到蓝色图像上,叠加位置设定为蓝色图像的左上角(坐标0,0)。

运行结果展示

程序的运行结果如下所示,请结合代码理解输出效果:

以上就是本文的全部内容,希望能为您的学习提供有益帮助。如果您觉得有用,欢迎继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。