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 (alt text) 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.

Était-ce utile?

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, alt text est superbe!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top