Как в PIL добавить несколько шрифтов?
Подскажите как можно задать несколько шрифтов для библиотеки PIL?
from PIL import Image, ImageDraw, ImageFont
# Открываем изображние
imageStatsBg = Image.open("StatsBg.jpeg")
# Задаем шрифт
font = ImageFont.truetype('arialmt.ttf', 25, encoding='unic')
# Открываем для записи
drawer = ImageDraw.Draw(imageStatsBg)
# Пишем текст
drawer.text((50, 100), 'Hello World', font=font, fill='white')
Мне нужно использовать несколько шрифтов в одной записи
Я пробовал через словарь - не получилось
fonts = ['arialmt.ttf', 'times.ttf']
Дело в том, что строка Hello World приходит из базы данных и в этой строке есть emoji и моя задача сделать так, чтобы emoji читались.
Ответы (1 шт):
Автор решения: Andy Pavlov
→ Ссылка
Нужно создать два или более инстанса с нужными шрифтами, к примеру, в таком варианте:
from PIL import Image, ImageDraw, ImageFont
# Открываем изображние
imageStatsBg = Image.open("StatsBg.jpeg")
# Задаем шрифт
fonts = [ImageFont.truetype(f, 25, encoding='unic') for f in ['arial.ttf', 'times.ttf']]
# Открываем для записи
drawer = ImageDraw.Draw(imageStatsBg)
# Пишем текст
drawer.text((50, 100), 'Hello World Arial', font=fonts[0], fill='black')
drawer.text((50, 150), 'Hello World Times', font=fonts[1], fill='black')
imageStatsBg.save('StatsBg_text.jpg')