简介
水印是一种在图片上添加文字或图像的技术,用于标识图片的来源、版权信息或其他附加信息。Pillow 是一个强大的 Python 图像处理库,它提供了许多功能,包括给图片添加水印。本文将详细介绍如何使用 Pillow 给图片添加水印。
创建水印
在添加水印之前,首先需要创建水印图像或文本。您可以使用图像编辑软件(如 Photoshop)创建水印图像,或者使用文字编辑器创建水印文本。对于本示例,我们将使用水印文本。
创建一个名为 watermark.png 的水印文本图片,将其保存在与脚本相同的目录中。确保水印图像的背景是透明的,这样它才能正确叠加在图片上。
添加水印到图片
接下来,让我们使用 Pillow 来将水印添加到一张图片上。以下是一个详细的步骤:
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont# 打开原始图片
image = Image.open("original_image.jpg")# 打开水印图片
watermark = Image.open("watermark.png")# 获取原始图片的宽度和高度
width, height = image.size# 创建一个新的图像对象,用于叠加水印
watermarked_image = image.copy()# 计算水印位置(通常在右下角)
margin = 10
position = (width - watermark.width - margin, height - watermark.height - margin)# 叠加水印
watermarked_image.paste(watermark, position, watermark)# 保存带水印的图片
watermarked_image.save("watermarked_image.jpg")# 显示图片
watermarked_image.show()
上述代码步骤如下:
- 使用 Image.open() 打开原始图片和水印图片。
- 获取原始图片的宽度和高度。
- 创建一个新的图像对象 watermarked_image,该图像是原始图片的副本。
- 计算水印的位置,通常在右下角,并留出一些边距。
- 使用 paste() 方法将水印图像叠加到原始图片上。
- 使用 save() 方法保存带水印的图片。
- 使用 show() 方法显示带水印的图片。
自定义水印样式
当然我们也可以自己定义水印的样式,步骤如下:
from PIL import ImageFont, ImageDraw# 打开原始图片
image = Image.open("original_image.jpg")# 创建一个可绘制的对象
draw = ImageDraw.Draw(image)# 定义水印文本
watermark_text = "My Watermark"# 定义字体和大小
font = ImageFont.truetype("arial.ttf", 36)# 定义水印颜色
fill_color = (255, 255, 255, 128)# 计算水印位置(通常在右下角)
margin = 10
width, height = image.size
text_width, text_height = draw.textsize(watermark_text, font)
position = (width - text_width - margin, height - text_height - margin)# 将水印添加到图片上
draw.text(position, watermark_text, font=font, fill=fill_color)# 保存带水印的图片
image.save("watermarked_image.jpg")# 显示图片
image.show()
在上述代码中,我们使用 ImageDraw.Draw()
创建了一个可绘制对象,然后定义了水印文本、字体、大小、颜色和位置,并将水印添加到原始图片上。
总结
本文主要介绍了如何使用pillow
给图片添加水印,在添加水印的时候,我们还可以自定义水印的样式,这样我们可以更好地实现对我们图片版权的保护
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!