📅  最后修改于: 2023-12-03 15:04:07.421000             🧑  作者: Mango
Pillow是Python的一个图像处理库,它是Python Imaging Library的一个分支,支持Python 3。在Pillow中使用Imagedraw模块可以在图像上绘制各种形状、文字等,其中multiline_textsize()
函数用于计算多行文本的大小。
ImageDraw.Draw.multiline_textsize(text, font=None, spacing=0, direction=None, features=None)
text
:要计算大小的多行文本。font
:使用的字体。如果未指定,则使用默认字体。spacing
:行间距。默认为0。direction
:文本方向。默认为水平方向。features
:文本特性。亚洲文本可能需要使用。函数返回一个元组,包含两个元素:文本的宽度和高度。
from PIL import Image, ImageDraw, ImageFont
text = "Python PIL\nImageDraw.Draw\nmultiline_textsize()"
im = Image.new('RGB', (500, 500), (255, 255, 255))
draw = ImageDraw.Draw(im)
font = ImageFont.truetype('arial.ttf', 30)
size = draw.multiline_textsize(text, font=font)
print("Size:", size)
draw.multiline_text((50, 50), text, font=font, fill=(0, 0, 0))
im.show()
输出:
Size: (248, 94)
结果显示多行文本text
的宽度是248,高度是94。同时我们使用ImageDraw.Draw.multiline_text()
绘制了这个多行文本到图像上。
ImageDraw.Draw.multiline_textsize()
函数用于计算多行文本在给定字体和行间距下所占据的空间。使用此函数,我们可以很容易地计算文本大小,并将其绘制到图像上。