Python, PIL; преобразование текста в изображение и шрифты

У меня проблема с записью текста в изображение под Python и PIL - Я могу писать текст в png-файл, хотя и не жирным шрифтом. Может ли кто-нибудь привести пример того, как этого достичь?

Я думал, что самое простое решение может быть был использован полужирный вариант текста, но я не вижу ничего в папке Windows/font, которая предоставляет это - означает ли это, что типы шрифтов имеют "полужирный атрибут", который является T/F?:
quick look for bold-fonts under windows

код я использование:

import PIL
from PIL import ImageFont
from PIL import Image
from PIL import ImageDraw

# font = ImageFont.truetype("Arial-Bold.ttf",14)
font = ImageFont.truetype("Arial.ttf",14)
img=Image.new("RGBA", (500,250),(255,255,255))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(0,0,0),font=font)
draw = ImageDraw.Draw(img)
img.save("a_test.png")

2 ответов


вы не смотрите на фактические файлы шрифтов в панели управления (проводник волшебным образом превращается в Панель управления font viewer, когда в папке Windows/fonts), они сгруппированы по семейству для вашего удобства. Дважды щелкните по семейству, чтобы увидеть шрифты в семействе:

enter image description here

щелкните правой кнопкой мыши и выбрать Свойства, чтобы найти имя файла:

enter image description here


простой способ сделать это:

font = ImageFont.load_default().font

Также вы можете сделать поиск google для ' verdana.ttf' и загрузите его в тот же каталог, что и файл python:

добавить такой:

font = ImageFont.truetype("Verdana.ttf",14)