Domanda

Sto creando immagini usando PIL che contengono numerose stringhe di testo posizionate esattamente. Il mio primo tentativo è stato di convertire i caratteri pixel nel formato compatibile pil come descritto qui . Ad esempio, scarico il carattere Silksreen e lo converto:

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

Posso quindi usare il carattere in PIL in questo modo:

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

Tuttavia, l'immagine risultante (alt text) non riflette ciò che il carattere dovrebbe apparire come .

Quale procedura dovrei usare per convertire e usare i caratteri pixel in modo da renderli come previsto?

Grazie in anticipo.

È stato utile?

Soluzione

Eureka!

Ho solo bisogno di specificare una risoluzione di 72 dpi (il valore predefinito è 100) per otf2bdf:

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

Ora, alt text sembra fantastico!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top