python怎么使用Pillow库来添加图片水印

简介: python怎么使用Pillow库来添加图片水印

当使用Pillow库来添加图片水印时,下面是一个示例代码:

 

请确保在运行示例代码之前,已经安装了Pillow库(可以使用`pip install pillow`命令进行安装)。示例代码中,打开原始图片、创建透明的水印图层、绘制水印文本、合成水印图层和原图,最后将添加了水印的图像保存为输出图片。

在示例代码中,使用了Arial字体,您可以根据需要替换字体文件路径、字体大小以及水印文本的位置和颜色等参数,以适应您的实际需求。下面具体说明下其步骤:

1. 导入必要的库:

 

from PIL import Image, ImageDraw, ImageFont

 

2. 定义添加水印的函数 `add_watermark`:

def add_watermark(image_path, watermark_text, output_path):
       # 打开原始图片
       image = Image.open(image_path)
       # 创建一个与原始图片相同大小的透明图层
       watermark = Image.new('RGBA', image.size, (0, 0, 0, 0))

 

3. 设置水印文本的字体和大小:

 

# 设置水印文本的字体和大小
       font = ImageFont.truetype('arial.ttf', 50)

4. 在水印图层上绘制水印文本:

# 在水印图层上绘制水印文本
       draw = ImageDraw.Draw(watermark)
       text_width, text_height = draw.textsize(watermark_text, font)
       x = (image.width - text_width) // 2
       y = (image.height - text_height) // 2
       draw.text((x, y), watermark_text, font=font, fill=(255, 255, 255, 128))

5. 将水印图层与原始图片进行合成:

 

# 将水印图层与原始图片进行合成
       watermarked = Image.alpha_composite(image.convert('RGBA'), watermark)

6. 保存水印图片到指定路径:

 

# 保存水印图片
       watermarked.save(output_path)

7. 使用 `add_watermark` 函数添加水印:

 

# 示例用法
   image_path = 'input.jpg'  # 原始图片路径
   output_path = 'output.jpg'  # 输出图片路径
   watermark_text = 'Watermark'  # 水印文本
   add_watermark(image_path, watermark_text, output_path)

确保将 `image_path` 替换为您实际的原始图片路径,`output_path` 替换为您希望保存水印图片的路径,`watermark_text` 替换为您想要显示的水印文本。根据需要,您可以调整字体、字体大小、文本位置和颜色等参数以满足特定要求。

相关文章
|
1天前
|
人工智能 搜索推荐 API
使用 Python holidays 库获取中国节日
使用 Python holidays 库获取中国节日
13 2
|
2天前
|
Shell Python
jabita-python库劫持提权-suid
jabita-python库劫持提权-suid
11 3
|
1天前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
|
3天前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
20 3
|
2天前
|
存储 程序员 数据库
【Python】标准库的使用
【Python】标准库的使用
12 0
|
2天前
|
Python
告别阻塞,拥抱未来!Python 异步编程 asyncio 库实战指南!
高效处理并发任务对提升程序性能至关重要,Python 的 `asyncio` 库提供了强大的异步编程支持。通过 `async/await` 关键字,可以在等待操作完成时不阻塞程序执行,显著提高效率和响应性。`asyncio` 支持定义异步函数、创建任务、等待多个任务完成等功能,并能结合第三方库如 `aiohttp` 实现异步网络请求。此外,它还支持异常处理,确保异步代码的健壮性。借助 `asyncio`,您可以轻松构建高性能、响应迅速的应用程序。
6 0
|
2天前
|
Shell 网络安全 数据安全/隐私保护
suuk-s.php.jpg-python 库劫持
suuk-s.php.jpg-python 库劫持
10 0
|
5月前
|
数据安全/隐私保护 Python
Python3给图片添加水印
Python3给图片添加水印
87 1
|
5月前
|
程序员 数据安全/隐私保护 计算机视觉
手把手教你用 Python 去除图片和 PDF 水印
手把手教你用 Python 去除图片和 PDF 水印
|
数据采集 分布式计算 搜索推荐
使用Python实现网页中图片的批量下载和水印添加保存
使用Python实现网页中图片的批量下载和水印添加保存