Python 如何使用Pillow在图像上添加文本
Pillow提供了多种工具和函数用于处理图像,包括在图像上添加文本的功能。在图像上添加文本可以用于创建标题、标签或注释等。在本文中,我们将探讨如何使用Python中的Pillow在图像上添加文本。我们将讨论不同的方法来添加文本,如更改字体、大小、颜色和文本的位置。我们还将提供逐步说明和代码示例,帮助您开始使用Pillow在图像上添加文本。
Pillow
Python的Pillow模块是建立在PIL(Python Imaging Library)之上的。它是图像处理的核心Python模块。Pillow是由Jeffrey A. Clark(Alex)和其他贡献者创建的PIL衍生版本。PIL是由Frederik Lundh和其他人开发的Python Imaging Library。但是,Python 3不支持它。但是,该模块可以作为PIL在Python 3.x版本中使用。它支持各种图像格式,包括jpeg、png、bmp、gif、ppm和tiff。
在Python中,借助Python Imaging Library这个库,您可以对图像进行更多的操作。该库支持各种文件格式,具有高效的内部表示能力,可以执行相当复杂的图像处理操作。核心图像库的开发旨在为少数几种基本像素格式中包含的数据提供快速访问。它为通用图像处理工具的开发提供了坚实而稳固的基础。
使用Pillow在图像上添加文本
Python的PIL(Python Imaging Library)是一个单独的库,用于打开图像、操作图像和以多种格式存储图像。使用这个PIL,我们可以对照片进行各种操作,如创建新图片、修改现有图片、旋转现有图片等。我们将使用PIL库在图像上添加文本。
语法
Image_object.text((a, b) , Text, desired_font , fill )
解释
在上述语法中,
- a和b表示要将文本添加到图像的起始位置/坐标(以像素为单位)。
-
Text是我们要添加到图像中的字符串或文本。
-
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是一个定位理想颜色的非常好的工具。在Google上搜索”颜色选择器”将返回此工具的结果。
步骤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编程语言对文本进行更多变化,例如更改大小、颜色和位置。