2013-04-06 16 views
16

Mam problem z pisaniem tekstu do obrazu w Pythonie i PIL - Jestem w stanie napisać tekst do pliku PNG, ale nie pogrubiony tekst. Czy ktokolwiek mógłby podać przykład, jak to osiągnąć?Python, PIL; Tekst na obraz i czcionki

Myślałem najłatwiejsze rozwiązanie może być było użyć Bold wariant tekstu, ale jestem w stanie zobaczyć niczego w folderze/czcionek Windows, który dostarcza ten - to znaczy rodzaje czcionki mają „bold atrybut”to T/F ?:
quick look for bold-fonts under windows

Kod używam:

import PIL 
from PIL import ImageFont 
from PIL import Image 
from PIL import ImageDraw 

# font = ImageFont.truetype("Arial-Bold.ttf",14) 
font = ImageFont.truetype("Arial.ttf",14) 
img=Image.new("RGBA", (500,250),(255,255,255)) 
draw = ImageDraw.Draw(img) 
draw.text((0, 0),"This is a test",(0,0,0),font=font) 
draw = ImageDraw.Draw(img) 
img.save("a_test.png") 

Odpowiedz

8

nie jesteś patrząc na rzeczywistych plików czcionek w panelu sterowania (Explorer magicznie zamienia widza czcionki panel sterowania w folderze Windows/fonts jako wel l), są pogrupowane według rodziny dla Twojej wygody. Kliknij dwukrotnie rodzinę zobaczyć czcionki w rodzinie:

enter image description here

Następnie kliknij prawym przyciskiem myszy i wybierz Właściwości, aby znaleźć nazwę pliku:

enter image description here

+1

Dzięki Pavel, który pracował w porządku: font = ImageFont.truetype ("** Arialbd.ttf **", 14) –

10

prosty sposób, aby to zrobić:

font = ImageFont.load_default().font 

Ponadto można zrobić google search for 'verdana.ttf' i pobierz to umieścić go w tym samym katalogu, jak plik python:

Następnie dodać go tak:

font = ImageFont.truetype("Verdana.ttf",14)