Использование пиксельных шрифтов в PIL - PullRequest
6 голосов
/ 06 марта 2009

Я создаю изображения, используя PIL, которые содержат множество точно размещенных текстовых строк. Моей первой попыткой было преобразовать пиксельные шрифты в формат, совместимый с pil, как описано здесь . Например, я загружаю шрифт Silksreen и конвертирую его:

otf2bdf -p 8pt -o fonts/slkscr.bdf fonts/slkscr.ttf 
pilfont.py fonts/slkscr.bdf

Затем я могу использовать шрифт в PIL так:

import Image, ImageDraw, os, sys, ImageFont
im = Image.new("RGB", (40,10))
draw = ImageDraw.Draw(im)
fn = ImageFont.load('fonts/slkscr.pil')
draw.text((0,0), "Hello", font=fn)
del draw
# write to stdout
im.save(sys.stdout, "PNG")

Однако полученное изображение (alt text) не отражает, как должен выглядеть шрифт .

Какую процедуру следует использовать для преобразования и использования пиксельных шрифтов, чтобы они отображались в соответствии с назначением?

Заранее спасибо.

1 Ответ

3 голосов
/ 06 марта 2009

Эврика!

Просто необходимо указать разрешение 72 dpi (по умолчанию 100) для otf2bdf:

otf2bdf -p 8 -r 72 -o fonts/slkscr.bdf fonts/slkscr.ttf

Теперь alt text выглядит великолепно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...