Python 实现给图片加文字或logo水印

1. Python 实现给图片加文字或logo水印

在图像处理中,给图片加上文字或者logo水印是一种常见的需求。Python 提供了丰富的图像处理库,如PIL(Python Imaging Library)和OpenCV,可以很方便地实现给图片加水印的功能。本文将介绍如何使用PIL库来实现给图片加文字或logo水印的效果。

2. 准备工作

在使用PIL库之前,需要先安装PIL库。可以使用pip命令来进行安装:

pip install Pillow

3. 给图片加文字水印

给图片加上文字水印可以通过PIL库中的ImageDraw模块来实现。下面是一个示例代码:

from PIL import Image, ImageDraw, ImageFont

# 加载图片

image = Image.open("example.jpg")

# 创建一个ImageDraw对象

draw = ImageDraw.Draw(image)

# 设置字体和大小

font = ImageFont.truetype("arial.ttf", 30)

# 设置水印文字内容和颜色

text = "Watermark"

color = (255, 0, 0) # 红色

# 获取水印文字的大小

text_size = draw.textsize(text, font=font)

# 设置水印文字的位置

x = image.width - text_size[0] - 10

y = image.height - text_size[1] - 10

# 绘制水印文字

draw.text((x, y), text, font=font, fill=color)

# 保存图片

image.save("example_with_watermark.jpg")

上述代码中,首先使用Image.open()函数加载了一张图片,然后创建了一个ImageDraw对象来绘制水印文字。使用ImageFont的truetype()函数设置文字的字体和大小。接下来定义了水印文字的内容和颜色,以及水印文字的位置。最后使用draw.text()函数将水印文字绘制到图片上,并使用image.save()函数保存图片。

4. 给图片加logo水印

给图片加上logo水印可以通过PIL库中的Image模块来实现。下面是一个示例代码:

from PIL import Image

# 加载图片

image = Image.open("example.jpg")

# 加载logo图片

logo = Image.open("logo.png")

# 设置logo的大小

logo_size = (int(image.width / 4), int(image.height / 4))

logo = logo.resize(logo_size)

# 设置logo的位置

logo_position = (image.width - logo_size[0] - 10, image.height - logo_size[1] - 10)

# 合并图片

image.paste(logo, logo_position, logo)

# 保存图片

image.save("example_with_logo.jpg")

上述代码中,首先使用Image.open()函数加载了一张图片和一个logo图片。然后使用logo.resize()函数来调整logo的大小,将其缩小为原图的四分之一。接着定义了logo的位置,使其位于图片的右下角。最后使用image.paste()函数将logo合并到原图上,并使用image.save()函数保存图片。

5. 总结

本文介绍了如何使用Python的PIL库来实现给图片加文字或logo水印的效果。通过使用ImageDraw和Image模块,我们可以很方便地对图片进行处理,并实现各种图像处理的需求。使用PIL库可以使我们更加灵活地处理图片,满足各种不同的应用场景。

后端开发标签