0
点赞
收藏
分享

微信扫一扫

Python 图片加水印

Python 图片加水印

引言

在许多应用场景中,我们经常需要给图片添加水印,以保护图片的版权或者加强图片的信息传达。Python 是一门功能强大的编程语言,可以轻松实现图片加水印的功能。在本文中,我将带领你一步步实现 Python 图片加水印的过程,并且给出相应的代码示例。

步骤概览

下表展示了实现图片加水印的整体流程:

步骤 操作
步骤 1 选择合适的库
步骤 2 加载原始图片
步骤 3 创建水印
步骤 4 合并图片和水印
步骤 5 保存加水印后的图片

代码实现

步骤 1:选择合适的库

要实现图片加水印的功能,我们需要使用一些图像处理库。在 Python 中,有许多优秀的图像处理库可供选择,比如 PILopencv-python 等。在本文中,我们选择使用 PIL(Python Imaging Library)库,因为它是一个功能强大且易于上手的图像处理库。

首先,我们需要安装 PIL 库。可以使用以下命令来安装:

pip install pillow

步骤 2:加载原始图片

在实现图片加水印的过程中,我们首先需要加载原始图片。使用 PIL 库的 Image 类,我们可以轻松地加载一张图片。

以下是加载图片的代码示例:

from PIL import Image

# 加载原始图片
image = Image.open('original_image.jpg')

上面的代码中,我们使用 Image.open() 方法加载了一张名为 original_image.jpg 的图片。你需要将该代码中的 original_image.jpg 替换为你自己的图片路径。

步骤 3:创建水印

接下来,在图片上创建水印。水印可以是文字、图片或者其他形式的标识。在本文中,我们选择使用文字作为水印。

以下是创建文字水印的代码示例:

from PIL import ImageDraw, ImageFont

# 创建水印
text = 'Watermark'
font = ImageFont.truetype('arial.ttf', size=30)  # 选择合适的字体和字号
watermark = Image.new('RGBA', image.size)  # 创建透明的水印图片
draw = ImageDraw.Draw(watermark)
text_width, text_height = draw.textsize(text, font)  # 获取文字水印的尺寸
text_position = ((image.width - text_width) // 2, (image.height - text_height) // 2)  # 计算文字水印的位置
draw.text(text_position, text, font=font, fill=(255, 255, 255, 128))  # 填充文字水印

上面的代码中,我们使用 ImageDraw 类创建了一个可以绘制水印的 draw 对象,并使用 text() 方法在水印上填充了文字。你可以根据需要修改文字内容、字体和其他参数。

步骤 4:合并图片和水印

接下来,我们需要将原始图片和水印合并在一起。使用 PIL 库的 Image.blend() 方法,我们可以将两张图片按照一定的透明度进行混合。

以下是合并图片和水印的代码示例:

# 合并图片和水印
blended_image = Image.blend(image.convert('RGBA'), watermark, alpha=0.5)

上面的代码中,我们使用 image.convert('RGBA') 将原始图片转换为 RGBA 模式,然后使用 Image.blend() 方法将原始图片和水印按照 0.5 的透明度进行混合。你可以根据需要修改透明度。

步骤 5:保存加水印后的图片

最后,我们将加水印后的图片保存到磁盘上

举报

相关推荐

0 条评论