当使用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` 替换为您想要显示的水印文本。根据需要,您可以调整字体、字体大小、文本位置和颜色等参数以满足特定要求。