如何在Python中使用Pillow库在图像上添加文本?


Pillow 提供了多个用于处理图像的工具和函数,包括在图像上添加文本的功能。向图像添加文本对于创建图像字幕、标签或注释非常有用。在本文中,我们将探讨如何在 Python 中使用 Pillow 在图像上添加文本。我们将讨论添加文本的不同方法,例如更改文本的字体、大小、颜色和位置。我们还将提供分步说明和代码示例,以帮助您开始使用 Pillow 在图像上添加文本。

Pillow

Python Pillow 模块构建在 PIL (Python Image Library) 之上。它是核心 Python 图像处理模块。Pillow 是由 Jeffrey A. Clark (Alex) 和其他贡献者创建的 PIL 派生库。PIL 是由 Frederik Lundh 和其他人开发的 Python 图像库。但 Python 3 不支持它。但是,此模块可以与 Python 3.x 版本一起用作 PIL。它支持各种图像格式,包括 jpeg、png、bmp、gif、ppm 和 tiff。

借助 Python 图像库,您可以使用 Python 对图像进行更多操作。此库支持各种文件格式,具有有效的内部表示,并且能够执行相当复杂的图像处理操作。核心图像库的开发是为了快速访问少量基本像素格式中包含的数据。它应该为开发通用的图像处理工具提供坚实的基础。

使用 Pillow 在图像上添加文本

Python 的 PIL (Python 图像库) 是一个单独的库,用于打开图像、处理图像以及将图像存储为各种格式。使用此 PIL,我们可以对图像执行各种操作,例如创建新图像、修改现有图像、旋转现有图像等。我们将使用 PIL 库在图像上添加文本。

语法

Image_object.text((a, b) , Text, desired_font , fill )

解释

在上面的语法中:

  • a 和 b 指示在图像上添加文本的起始位置/坐标(以像素为单位)。

  • 文本是我们想要添加到图像中的字符串或文本。

  • Desired_font 是我们想要赋予示例文本的字体大小或字体类型。

  • Fill 用于为文本提供颜色。

我们将逐步介绍如何使用 Python 的 Pillow 库在图像上添加文本。

步骤 1:导入 Python Pillow 库

让我们首先安装此任务所需的库。安装完成后,可以导入库以在项目中使用。使用 PIP(Python 包管理器实用程序)是安装此库最简单的方法。与绝大多数 Python 库兼容。

pip install pillow

我们可以在一行代码中导入所有重要的包:

from PIL import Image, ImageFont, ImageDraw

步骤 2:选择要添加文本的特定图像

此步骤涉及选择并导入将添加文本的图像。我们将定义一个新变量 (i),并将使用 open() 方法将该特定图像分配给该变量。以下是 open() 方法的语法:

I=Image.open(“sample.png”)

步骤 3:定义文本并将文本添加到图像

在之前的步骤中,我们已经选择了图像。首先,我们将为文本定义一个变量,然后开始渲染图像。

我们将使用 ImageDraw 模块为图像创建一个对象。

Im = ImageDraw.Draw(i)

我们将向 text() 函数传递三个参数。

Im.text((60, 50), "Marilyn Monroe",fill=(0, 0, 0))
  • 起始坐标:Pillow 库使用笛卡尔像素坐标系,(0,0) 在左上角。

  • 用单引号或双引号括起来的字符串

  • 以 RGB 格式设置的文本颜色:Google Picker 是一个查找理想颜色的好工具。搜索“颜色选择器”即可找到此工具。

步骤 4:保存图像

最后一步是使用 save() 函数保存图像。

i.save("mm.png")

示例 1

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Open the desired Image you want to add text on
i = Image.open('sample2.jpg')

# To add 2D graphics in an image call draw Method

Im = ImageDraw.Draw(i)
mf = ImageFont.truetype('font.ttf', 25)
# Add Text to an image
Im.text((15,15), "Lady watching movie with her dog", (255,0,0), font=mf)

# Display edited image on which we have added the text
i.show()

# Save the image on which we have added the text
i.save("mm.png")

输出

示例 2

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Open the desired Image you want to add text on
i = Image.open('sample.jpg')

# Call draw Method to add 2D graphics in an image
Im = ImageDraw.Draw(i)
mf = ImageFont.truetype('font.ttf', 25)
# Add Text to an image
Im.text((90, 10), "Working",fill=(0, 0, 0),font=mf)

# Display edited image
i.show()

# Save the edited image
i.save("sn.png")

输出

结论

在这篇 Python 文章中,我们学习了如何在图像中添加文本。首先,我们使用最简单的示例来演示如何将文本添加到图像中。之后,我们更详细地讨论了如何使用 Python 编程语言来修改文本,例如更改其大小、颜色和位置。

更新于:2023年5月31日

10K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告