Python Pillow 简明教程
Python Pillow - Writing text on image
向图像添加文本是常见的图像处理任务,它涉及将文本叠加到图像上。这可以用于各种目的,例如向图像添加标题、标签、水印或注释。在图像中添加文字时,我们通常可以指定文字内容、字体、大小、颜色和位置。
在 Pillow(PIL)中,我们可以使用 ImageDraw 模块中的 text() 方法向图像添加文本。
The text() method
text() 方法允许我们指定要添加文本的位置、文本内容、字体和颜色。
Syntax
以下是 text() 方法的基本语法和参数 −
PIL.ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None, spacing=0, align="left")
-
xy − 文本应放置的位置。它应为表示坐标的元组“(x,y)”。
-
text − 我们要添加到图像中的文本内容。
-
fill (optional) − 文本的颜色。它可以指定为 RGB 颜色的元组“(R、G、B)”单整数(表示灰度颜色)或指定为命名颜色。
-
font (optional) − 用于文本的字体。我们可以使用“ImageFont.truetype()”或“ImageFont.load()”指定字体。
-
anchor (optional) − 指定文本应如何定位。选项包括“left”,“center”,“right”,“top”,“middle”和“bottom”。
-
spacing (optional) − 指定文本行之间的行距。使用正值增加行距或使用负值减小行距。
-
align (optional) − 指定文本在边界框内的水平对齐方式。选项包括“left”,“center”和“right”。
以下是本章所有示例中使用的输入图像。
Example
在此示例中,我们将 Image 模块的 Tutorialspoint*to the input image using the *text() 方法添加文本。
from PIL import Image, ImageDraw, ImageFont
#Open an image
image = Image.open("Images/book.jpg")
#Create a drawing object
draw = ImageDraw.Draw(image)
#Define text attributes
text = "Tutorialspoint"
font = ImageFont.truetype("arial.ttf", size=30)
text_color = (255, 0, 0)
#Red
position = (50, 50)
#Add text to the image
draw.text(position, text, fill=text_color, font=font)
#Save or display the image with the added text
image.save("output Image/textoutput.jpg")
opentext = Image.open("output Image/textoutput.jpg")
opentext.show()
Example
这是另一个使用 ImageDraw 模块的 text() 方法向图像添加文本的示例。
from PIL import Image, ImageDraw, ImageFont
#Open an image
image = Image.open("Images/book.jpg")
#Create a drawing object
draw = ImageDraw.Draw(image)
#Define text attributes
text = "Have a Happy learning"
font = ImageFont.truetype("arial.ttf", size=10)
text_color = (255, 0, 255)
position = (150, 100)
#Add text to the image
draw.text(position, text, fill=text_color, font=font)
#Save or display the image with the added text
image.save("output Image/textoutput.jpg")
opentext = Image.open("output Image/textoutput.jpg")
opentext.show()