2013-04-06 149 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)