📜  Python PIL |ImageDraw.Draw.multiline_text()(1)

📅  最后修改于: 2023-12-03 14:46:02.415000             🧑  作者: Mango

Python PIL | ImageDraw.Draw.multiline_text()

介绍

当我们需要在图片上添加多行文本时,Pillow库中的ImageDraw.Draw.multiline_text()方法可以帮助我们实现这一目标。ImageDraw.Draw对象是Pillow库中的一个类,它允许我们在一个图片上绘制一个标识符,比如多行文本、矩形、圆形等等。

用法
1. 导入必需的库

在使用ImageDraw.Draw对象之前,我们需要导入必要的库。

from PIL import Image, ImageDraw, ImageFont
2. 加载图片

在我们使用Draw对象之前,我们需要使用Image.open()方法打开指定的图片。这个方法会返回一个Image对象,方便我们进行后续的操作。

img = Image.open('/path/to/your/image.jpg')
3. 创建Draw对象

使用ImageDraw.Draw()方法创建一个Draw对象,我们可以在这个对象上进行多行文本、矩形、圆形等绘画操作。

draw = ImageDraw.Draw(img)
4. 绘制多行文本

我们可以使用Draw.multiline_text()方法在指定的位置添加多行文本。这个方法接受以下参数:

  • xy:一个二元组(x,y),表示文本左上角的位置。
  • text:要绘制的文本。
  • fill:文本颜色。
  • font:文本字体,默认为None。
text = 'Python\nPillow\nImageDraw.Draw\nmultiline_text()'

fill = 'white'
font = ImageFont.truetype('/path/to/your/font.ttf', size=20)
xy = (50, 50)
draw.multiline_text(xy, text, fill=fill, font=font)
5. 保存结果图片

使用Image.save()方法保存图片到指定位置。

img.save('/path/to/your/result.jpg')
总结

ImageDraw.Draw.multiline_text()方法可以帮助我们在图片上添加多行文本。在使用这个方法之前,我们需要先创建一个Draw对象,然后在这个对象上进行绘画操作。除了多行文本之外,Draw对象还可以用于绘制矩形、圆形等图形。