2013-04-06 152 views
16

我在將文本寫入到Python和PIL下的圖像時遇到了問題 - 我能夠將文本寫入png文件,但不是粗體文本。任何人都可以提供一個如何實現這個目標的例子?Python,PIL;文本到圖像和字體

我想可能是使用文本的一個大膽的變體最簡單的解決方案,但我不能看到任何在此提供在Windows /字體文件夾 - 這是否意味着字體類型都有一個「大膽屬性」即T/F?:我使用
quick look for bold-fonts under windows

代碼:

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

回答

8

你是不是在控制面板中查看實際的字體文件(探險家奇蹟般地變成了字體查看器控制面板,當在Windows/fonts文件夾中l),爲方便起見,它們按家庭分組。雙擊家人看到在家庭中的字體:

enter image description here

然後單擊鼠標右鍵,選擇屬性,找到文件名:

enter image description here

+1

感謝帕維爾,細的工作:字體= ImageFont.truetype( 「** ** Arialbd.ttf」,14) – 2013-04-06 23:42:23

10

一個簡單的方法來做到這一點:

font = ImageFont.load_default().font 

你也可以做一個google search for 'verdana.ttf'和下載它把它放在同一目錄下Python文件:

然後加入這樣的:

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