简介:本文介绍了如何使用Python的Pillow库(PIL的更新友好版)批量为图片添加文字水印。详细步骤包括安装Pillow、准备水印文本、编写代码实现批量处理,并提供了可操作的代码示例。
在数字图像处理中,为图片添加水印是一种常见的需求,尤其是用于版权保护或信息标注。Python的Pillow库(PIL的更新和活跃分支)提供了强大的图像处理功能,包括文字绘制。下面,我们将通过简明的步骤和代码示例,展示如何使用Pillow库批量为图片添加文字水印。
如果你还没有安装Pillow库,可以通过pip命令轻松安装:
pip install Pillow
确保你有一个包含待处理图片的文件夹,以及你希望添加到每张图片上的水印文本。
下面是一个简单的Python脚本,演示了如何批量读取文件夹中的图片,为每张图片添加文字水印,并保存处理后的图片。
from PIL import Image, ImageDraw, ImageFontimport os# 文件夹路径folder_path = 'path/to/your/images'# 水印文本watermark_text = '版权所有 © 2023'# 水印位置position = (10, 10) # 左上角为(0, 0)# 字体和大小(确保字体文件路径正确)font_path = 'path/to/your/font.ttf'font_size = 24font_color = (255, 255, 255) # 白色# 加载字体font = ImageFont.truetype(font_path, font_size)# 遍历文件夹中的图片for filename in os.listdir(folder_path):if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff')):img_path = os.path.join(folder_path, filename)# 打开图片img = Image.open(img_path)# 创建一个可以在给定图像上绘图的对象draw = ImageDraw.Draw(img)# 添加水印draw.text(position, watermark_text, font=font, fill=font_color)# 保存处理后的图片,可以添加后缀以区分原图和加水印后的图片watermarked_img_path = os.path.join(folder_path, 'watermarked_' + filename)img.save(watermarked_img_path)print(f'已处理并保存:{watermarked_img_path}')print('所有图片已处理完毕。')
font_path变量指向一个有效的TrueType或OpenType字体文件。如果字体文件不在当前目录下,你需要提供完整的文件路径。os.listdir()中的条件来支持更多或更少的格式。position变量决定了水印在图片上的位置。你可以根据需要调整这个值。font_color变量定义了水印的颜色。Pillow不直接支持透明度,但你可以通过图像处理软件将字体转换为带有透明背景的PNG格式,然后在Pillow中使用该字体文件。通过上面的步骤和代码示例,你应该能够轻松地为自己的图片批量添加文字水印了。这种方法非常适合需要保护版权或标注信息的场景。