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库可以使我们更加灵活地处理图片,满足各种不同的应用场景。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签