Python, PIL; Текст в изображение и шрифты
У меня проблема с записью текста в изображение в Python и PIL - я могу записать текст в файл png, хотя и не жирный текст. Может ли кто-нибудь привести пример того, как этого добиться?
Я подумал, что самым простым решением может быть использование полужирного варианта текста, но я не вижу ничего в папке Windows/ шрифта, которая предоставляет это - значит ли это, что типы шрифтов имеют "жирный атрибут", который является T/F?:
Код, который я использую:
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 ответа
Вы не смотрите реальные файлы шрифтов на панели управления (проводник волшебным образом превращается в панель управления средством просмотра шрифтов в папке Windows/fonts), они для вашего удобства сгруппированы по семейству. Дважды щелкните по семейству, чтобы увидеть шрифты в семействе:
Затем щелкните правой кнопкой мыши и выберите свойства, чтобы найти имя файла:
Простой способ сделать это:
font = ImageFont.load_default().font
Также вы можете выполнить поиск в Google по запросу "verdana.ttf" и загрузить его, поместив его в тот же каталог, что и файл python:
Затем добавьте это так:
font = ImageFont.truetype("Verdana.ttf",14)