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