"Якоря" для текста не работают в Pilliow
"Якоря" для текста не работают, привязка постоянно в левом верхнем углу от заданных координат.
Код брал из документации (https://pillow.readthedocs.io/en/stable/handbook/text-anchors.html). Использовал шрифт TrueType, как и описано в документации.
Код запускался в Colaboratory от Google. (может в этом и причина?)
Pillow 8.2.0, Python 3.7.10
from PIL import Image, ImageDraw, ImageFont
W, H = 512, 320
ZERO = (0, 0)
img = Image.new('RGB', (W, H), 'dodgerblue')
imd = ImageDraw.Draw(img)
fnt = ImageFont.truetype(font='KZ_SamsungSharpSans.ttf', size=36)
imd.line(((W/2, 0), (W/2, H)), fill='black', width=1)
imd.line(((0, H/2), (W, H/2)), fill='black', width=1)
imd.text((W/2, H/2), 'Здарова,\nmy comrades\nӘӘӘҰҰҰҚҚҚҚ', fill='azure', anchor='mm', font=fnt, align='center')
img
Ответы (1 шт):
Автор решения: handowl
→ Ссылка
Я не знаю, что именно у вас не работает. НО Вот рабочий код. Возможно, надо добавить формат изображения.
from PIL import Image, ImageDraw, ImageFont
W, H = 500, 500
img = Image.new("RGB", (W, H), "pink")
imd = ImageDraw.Draw(img)
fnt = ImageFont.truetype(font='font.ttf', size=32)
text = 'very very long'
imd.line(((W/2, 0), (W/2, H)), fill="black", width=1)
imd.line(((0, H/2), (W, H/2)), fill="black", width=1)
imd.text ((W/2, H/2), text, fill="black", anchor='ms', font=fnt, align='center')
img.format = "PNG"
img.show()
