如何在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 编程语言来修改文本,例如更改其大小、颜色和位置。