欢迎访问宙启技术站
智能推送

使用ImageDraw库添加图像水印和标记的方法

发布时间:2023-12-15 00:07:49

ImageDraw库是Python的一个图像处理库,可以用来在图像上添加各种绘图元素。其中,添加图像水印和标记是常见的应用场景。下面将介绍使用ImageDraw库添加图像水印和标记的方法,并提供相应的使用例子。

首先,需要安装Pillow库(一个基于Image库的图像处理库),可以使用以下命令进行安装:

pip install Pillow

接下来,导入相关的库和模块:

from PIL import Image, ImageDraw, ImageFont

#### 添加图像水印

图像水印是指在原始图像上添加一张有透明度的水印图像,使得水印图像能够显示在原始图像的上方。

以下是使用ImageDraw库添加图像水印的步骤:

1. 打开原始图像和水印图像:

# 打开原始图像
image = Image.open('original.jpg')

# 打开水印图像,并设置透明度
watermark = Image.open('watermark.png').convert('RGBA')

2. 创建一个带有水印的新图像:

# 创建一个新图像,大小与原始图像相同
watermarked_image = Image.new('RGBA', image.size, (0, 0, 0, 0))

# 在新图像上绘制原始图像
watermarked_image.paste(image, (0, 0))

3. 将水印图像覆盖到新图像上:

# 在新图像上绘制水印图像
watermarked_image.paste(watermark, (0, 0), mask=watermark)

4. 保存新图像:

# 保存新图像
watermarked_image.save('watermarked.jpg')

完整的实现代码如下:

from PIL import Image, ImageDraw

# 打开原始图像
image = Image.open('original.jpg')

# 打开水印图像,并设置透明度
watermark = Image.open('watermark.png').convert('RGBA')

# 创建一个新图像,大小与原始图像相同
watermarked_image = Image.new('RGBA', image.size, (0, 0, 0, 0))

# 在新图像上绘制原始图像
watermarked_image.paste(image, (0, 0))

# 在新图像上绘制水印图像
watermarked_image.paste(watermark, (0, 0), mask=watermark)

# 保存新图像
watermarked_image.save('watermarked.jpg')

#### 添加图像标记

图像标记是指在原始图像上添加一些文字或形状等标记,以呈现特定的信息或效果。

以下是使用ImageDraw库添加图像标记的步骤:

1. 打开原始图像:

# 打开原始图像
image = Image.open('original.jpg')

2. 创建一个ImageDraw对象:

# 创建一个ImageDraw对象
draw = ImageDraw.Draw(image)

3. 在原始图像上绘制标记:

# 绘制一个矩形标记
draw.rectangle(((10, 10), (100, 100)), outline='red')

# 绘制一个文本标记
font = ImageFont.truetype('arial.ttf', 20)
draw.text((10, 120), 'Watermark', font=font, fill='white')

4. 保存修改后的图像:

# 保存修改后的图像
image.save('marked.jpg')

完整的实现代码如下:

from PIL import Image, ImageDraw, ImageFont

# 打开原始图像
image = Image.open('original.jpg')

# 创建一个ImageDraw对象
draw = ImageDraw.Draw(image)

# 绘制一个矩形标记
draw.rectangle(((10, 10), (100, 100)), outline='red')

# 绘制一个文本标记
font = ImageFont.truetype('arial.ttf', 20)
draw.text((10, 120), 'Watermark', font=font, fill='white')

# 保存修改后的图像
image.save('marked.jpg')

总结:

使用ImageDraw库可以方便地在图像上添加水印和标记,通过透明度和文本、形状等绘图功能,可以实现各种个性化的效果。以上是添加图像水印和标记的方法以及相应的使用例子,希望对你有所帮助。