Utilisation de polices de pixels dans PIL
Question
Je crée des images à l'aide de PIL qui contiennent de nombreuses chaînes de texte placées avec précision. Ma première tentative a été de convertir les polices de pixels au format compatible pil, comme décrit ci-après. ici . Par exemple, je télécharge la police Silksreen et la convertis:
otf2bdf -p 8pt -o fonts/slkscr.bdf fonts/slkscr.ttf
pilfont.py fonts/slkscr.bdf
Je peux ensuite utiliser la police dans PIL comme suit:
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")
Cependant, l'image résultante () ne reflète pas la police de caractère devrait ressembler à .
Quelle procédure dois-je utiliser pour convertir et utiliser les polices de pixels afin qu'elles soient rendues comme prévu?
Merci d'avance.
La solution
Eureka!
Il suffit de spécifier une résolution de 72 dpi (la valeur par défaut est 100) pour otf2bdf:
otf2bdf -p 8 -r 72 -o fonts/slkscr.bdf fonts/slkscr.ttf
Maintenant, est superbe!