ImageDraw.Draw()获取文本长宽
时间: 2023-10-17 16:05:19 浏览: 317
根据文本内容动态获取文本宽度
ImageDraw.Draw() 是一个用于在图像上绘制图形和文本的类。要获取文本的长度和宽度,你可以使用 draw.textsize() 方法。
下面是一个示例代码:
```python
from PIL import Image, ImageDraw, ImageFont
# 创建一个新的图像
image = Image.new('RGB', (500, 200), (255, 255, 255))
draw = ImageDraw.Draw(image)
# 设置字体和文本
font = ImageFont.truetype('arial.ttf', size=24)
text = "Hello, World!"
# 获取文本的长度和宽度
text_width, text_height = draw.textsize(text, font)
# 在图像上绘制文本
text_position = ((image.width - text_width) // 2, (image.height - text_height) // 2)
draw.text(text_position, text, font=font, fill=(0, 0, 0))
# 保存图像
image.save('output.png')
```
在上面的示例中,我们创建了一个大小为 500x200 像素的白色图像,并在中心位置绘制了 "Hello, World!" 文本。使用 draw.textsize() 方法获取了文本的长度和宽度,并根据图像大小计算出了文本在图像上的位置。最后将图像保存为 output.png。你可以根据自己的需求修改代码。
阅读全文