首页 Python通用模块 Pillow为图片添加水印 :ImageDraw模块
pay pay

Pillow为图片添加水印 :ImageDraw模块

日期: 三月 17, 2023, 2:26 p.m.
栏目: Python通用模块
阅读: 223
作者: Python自学网-村长

摘要: 在Pillow中,可以使用ImageDraw模块来在图像上绘制各种形状和文本。因此,要在图像上添加水印,可以使用ImageDraw模块来绘制文本或其他图形。

在Pillow中,可以使用ImageDraw模块来在图像上绘制各种形状和文本。因此,要在图像上添加水印,可以使用ImageDraw模块来绘制文本或其他图形。

ImageDraw常用方法
方法 说明
text 在图像上绘制文字
line 绘制直线、线段
eclipse 绘制椭圆形
rectangle 绘制矩形
polygon 绘制多边形

以下是一个简单的示例,演示如何在图像上添加文本水印:

from PIL import Image, ImageDraw, ImageFont

# 打开图像
im = Image.open("example.jpg")

# 获取图像宽度和高度
width, height = im.size

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

# 指定字体和文字内容
font = ImageFont.truetype("arial.ttf", 36)
text = "watermark"

# 计算文本的位置并绘制文本
text_width, text_height = draw.textsize(text, font)
x = width - text_width - 10
y = height - text_height - 10
draw.text((x, y), text, font=font)

# 保存图像
im.save("example_with_watermark.jpg")

在此示例中,首先使用Image.open()打开图像,然后使用

ImageDraw.Draw()创建一个ImageDraw对象。然后,使用ImageFont.truetype()指定要使用的字体,并使用draw.textsize()计算文本的宽度和高度。接下来,计算文本的位置,并使用draw.text()方法在图像上绘制文本。最后,使用im.save()保存带有水印的图像。

除了文本,还可以使用ImageDraw模块绘制各种形状,如线条、矩形、椭圆等。例如,要在图像上添加一个矩形水印,可以使用以下代码:

# 创建一个矩形区域
rect = (10, 10, width - 10, height - 10)

# 绘制矩形
draw.rectangle(rect, outline="red", width=5)

# 保存图像
im.save("example_with_watermark.jpg")

此代码将创建一个矩形区域,并使用draw.rectangle()方法在图像上绘制矩形。可以通过指定颜色和线宽来自定义矩形的外观。最后,使用im.save()保存带有水印的图像。

部分文字内容为【Python自学网】原创作品,转载请注明出处!视频内容已申请版权,切勿转载!
回顶部