ImageDraw.Draw(image).text()方法,想要在图像的中间添加 error,字体大小占据图像尺寸一半

发布时间 2023-08-11 09:25:59作者: 海_纳百川

要在图像的中间添加文本,并且确保文本大小占据图像尺寸的一半,你可以使用Python的PIL库(Pillow)中的ImageDrawImageFont模块来实现。以下是一个示例代码,演示了如何在图像中心添加文本并设置字体大小:

from PIL import Image, ImageDraw, ImageFont

# 创建一个空白图像
width = 400
height = 300
image = Image.new("RGB", (width, height), "white")

# 创建一个ImageDraw对象
draw = ImageDraw.Draw(image)

# 要添加的文本
text = "error"

# 计算适合的字体大小
font_size = min(width, height) // (len(text) * 2)

# 加载合适大小的字体
font = ImageFont.truetype("path_to_your_font.ttf", font_size)  # 请将路径替换为你的字体文件路径

# 获取文本尺寸
text_width, text_height = draw.textsize(text, font=font)

# 计算文本的位置,使其居中
x = (width - text_width) // 2
y = (height - text_height) // 2

# 在图像上绘制文本
draw.text((x, y), text, font=font, fill="black")

# 保存或显示图像
image.show()
# image.save("output_image.jpg")  # 如果你想保存图像,可以取消注释这一行

确保将"path_to_your_font.ttf"替换为你实际的字体文件路径。此代码将创建一个空白的图像,并在图像中心添加了文本,确保文本大小占据图像尺寸的一半。你可以根据需要修改图像的宽度、高度、文本内容、颜色等。