Python 图片添加水印

在日常生活中,我们经常需要给图片添加水印来保护图片的版权或者增加图片的信息。Python作为一门强大的编程语言,提供了许多库和工具来实现图片处理的功能。其中,PIL(Python Imaging Library)是Python中最常用的图片处理库之一,它提供了丰富的功能,可以用来添加水印、调整图片大小、裁剪、旋转等。

本文将介绍如何使用Python的PIL库来给图片添加水印。我们将首先简要介绍PIL库的安装,然后通过代码示例来演示如何添加水印。

安装PIL库

要使用PIL库,首先需要安装它。在终端或命令提示符中,输入以下命令来安装PIL库:

pip install Pillow

添加文字水印

首先,我们将演示如何添加文字水印到图片上。下面是一个简单的代码示例:

from PIL import Image, ImageDraw, ImageFont

def add_text_watermark(image_path, text, output_path):
    # 打开图片
    image = Image.open(image_path)
    # 创建一个可编辑的图片副本
    image_copy = image.copy()
    # 获取图片的宽度和高度
    width, height = image_copy.size
    # 创建绘图对象
    draw = ImageDraw.Draw(image_copy)
    # 设置水印文字的字体和大小
    font = ImageFont.truetype("arial.ttf", 36)
    # 计算水印文字的宽度和高度
    text_width, text_height = draw.textsize(text, font=font)
    # 计算水印文字的位置
    x = (width - text_width) // 2
    y = (height - text_height) // 2
    # 添加水印
    draw.text((x, y), text, font=font, fill=(255, 255, 255, 128))
    # 保存图片
    image_copy.save(output_path)

# 使用示例
add_text_watermark("input.jpg", "Watermark", "output.jpg")

在上述代码中,我们首先使用Image.open()函数打开图片,然后创建一个可编辑的图片副本image_copy。接下来,我们获取图片的宽度和高度,并创建一个绘图对象draw。然后,我们设置水印文字的字体和大小,并计算水印文字的宽度和高度。接着,我们计算水印文字的位置,并使用draw.text()函数在图片上添加水印。最后,我们使用image_copy.save()函数保存添加了水印的图片。

添加图片水印

除了文字水印,我们还可以添加图片水印到图片上。下面是一个示例代码:

from PIL import Image

def add_image_watermark(image_path, watermark_path, output_path):
    # 打开图片和水印图片
    image = Image.open(image_path)
    watermark = Image.open(watermark_path).resize(image.size)
    # 创建一个可编辑的图片副本
    image_copy = image.copy()
    # 将水印图片叠加到原始图片上
    image_copy.paste(watermark, (0, 0), watermark)
    # 保存图片
    image_copy.save(output_path)

# 使用示例
add_image_watermark("input.jpg", "watermark.png", "output.jpg")

在上述代码中,我们首先使用Image.open()函数打开图片和水印图片。然后,我们创建一个可编辑的图片副本image_copy。接下来,我们使用resize()函数将水印图片调整为和原始图片相同的大小,并使用paste()函数将水印图片叠加到原始图片上。最后,我们使用image_copy.save()函数保存添加了水印的图片。

总结

在本文中,我们介绍了如何使用Python的PIL库来给图片添加水印。我们分别演示了添加文字水印和图片水印的示例代码。通过使用这些代码,您可以轻松地在Python中实现图片水印的功能。相信本文对于那些对于图片处理感兴趣或需要添加水印的读者将会有所帮助。

以上就是使用Python添加水印的简要介绍,