Я создаю небольшую программу на Python, которая рисует текст на маленьком изображении размером 128x48.Он отлично работает для текста, ширина которого достигает 120, но я не могу понять, как разделить более длинный текст на дополнительную строку.Как мне это сделать?
Я пытался использовать textwrap3, но не смог заставить его работать с подушкой.
Программа создает файлы изображений 128x48 с черным фоном итекст по центру желтого цвета, который впоследствии предполагается просматривать на устройстве, которое выводит до 480i, поэтому простое уменьшение размера текста на много не поможет.В настоящее время используется шрифт Arial 18.
Вот текущий код, использованный для создания изображения:
from PIL import Image, ImageDraw, ImageFont
AppName = "TextGoesHere"
Font = ImageFont.truetype('./assets/Arial.ttf', 18)
img = Image.new('RGB', (128, 48), color='black')
d = ImageDraw.Draw(img)
# Get width and height of text
w, h = d.textsize(AppName, font=Font)
# Draw text
d.text(((128-w)/2, (48-h)/2), AppName, font=Font, fill=(255, 255, 0))
img.save('icon.png')
Приведенный выше код выводит изображение следующим образом:
Более длинный текст с шириной, превышающей размер изображения, выводимого следующим образом (LongerTextGoesHere):
Требуемый результат должен быть схожим с этим: