📜  Python Pillow – ImageDraw 模块(1)

📅  最后修改于: 2023-12-03 14:46:02.458000             🧑  作者: Mango

Python Pillow - ImageDraw 模块

Python Pillow 是一个第三方图像处理库,它提供了许多有用的功能,例如图像增强、调整大小、裁剪等等。除此之外,它还提供了一个特别有用的模块——ImageDraw,可以在图像上绘制文字、图形、线条等等。本篇文章将为大家介绍如何使用 ImageDraw 模块,希望对 Python 图像处理有所帮助。

安装 Pillow

在使用 ImageDraw 模块前,需要安装 Pillow 库,常规安装方式如下:

!pip install pillow

注意:目前已经不再使用 PIL 库而是使用 Pillow 库。

创建 ImageDraw 对象

使用 ImageDraw 模块之前,我们需要先创建一个 ImageDraw 对象。通常情况下,我们会使用 Image 模块来打开一张图片,然后再使用 ImageDraw 模块对该图片进行编辑。

以下是一个例子:

from PIL import Image, ImageDraw 

# 读取一张图片,Image 模块用于读取图片
img = Image.open("example.jpg")

# 创建 ImageDraw 对象
draw = ImageDraw.Draw(img)
绘制图形

使用 ImageDraw 模块可以在图片上绘制直线、矩形、圆形等等图形。下面是一个例子,展示如何在图片上绘制一条横线和一个矩形:

# 绘制横线
draw.line((0, 50, 200, 50), fill='red', width=5)

# 绘制矩形
draw.rectangle((50, 100, 150, 200), outline='blue', width=3)

# 显示绘制后的图像
img.show()

上述代码中,line 方法用于绘制一条线段,参数为线段的起始坐标和终止坐标;rectangle 方法用于绘制一个矩形,参数为矩形的左上角和右下角坐标。

绘制文本

使用 ImageDraw 模块可以很容易地在图片上绘制文本。以下是一个例子,展示如何在图片上绘制一些文本:

# 设置字体
font = ImageFont.truetype("arial.ttf", 36)

# 绘制文本
draw.text((50, 250), "Hello, Python!", font=font, fill='red')

# 显示绘制后的图像
img.show()

上述代码中,truetype 方法用于设置字体,参数为字体名称和字体大小;text 方法用于绘制文本,参数为文本的位置、内容、字体等等。

总结

上述就是使用 ImageDraw 模块的基本介绍,它可以对 Python 图像处理大有裨益。使用 ImageDraw 可以很容易地在图片上添加文本、图形等等元素,从而完成对图片的修饰操作。