PIL

2009-03-06 10 views
6

piksel fontlarını kullanma Çok sayıda tam olarak yerleştirilmiş metin dizeleri içeren PIL kullanarak görüntüler oluşturuyorum. İlk denemem, piksel fontlarını here açıklandığı gibi pil uyumlu biçime dönüştürmekti. Örneğin, ben Silksreen yazı indirmek ve dönüştürmek:PIL

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

Sonra şöyle PIL yazı tipini kullanabilirsiniz:

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

Ancak, ortaya çıkan görüntü (alt text) ne yansıtmamaktadır yazı tipi should look like.

Piksel fontları dönüştürmek ve kullanmak istediği şekilde oluşturmak için hangi yordamı kullanmalıyım?

Şimdiden teşekkürler.

+0

Düzenleme: Çalışamadık ve birkaç saat sonra pilfont.py yardımcı programının aslında 2 dosya, bir .pil ve bir .pdm (bdf yalnızca bir n arabulucusudur) oluşturduğunu anladım. Bu dosyaların her ikisine de ihtiyacınız var sadece .pil -.- – Tom

cevap

3

Eureka!

Sadece otf2bdf için 72 dpi (varsayılan değer 100'dür) çözünürlüğe belirtmek için gerekli:

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

Şimdi alt text harika görünüyor!

+0

Bunun neden olduğunu biliyor musunuz? İnç başına daha az nokta daha iyi bir çözünürlük/görüntü vermenin mantıklı görünmüyor. – tgray

+0

Sadece yazı tipinin hangi boyuttaki piksellerin bir pikselle eşleşmeye istekli olduğuna dair bir soru. Serigrafi eski okul Mac OS çözünürlüğü olduğu gibi 72dpi'yi seçti. – bobince