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")

Ответ 1

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

enter image description here

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

enter image description here

Ответ 2

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

font = ImageFont.load_default().font

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

Затем добавьте его так:

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