22

我在 Python 和 PIL 下将文本写入图像时遇到问题 - 我可以将文本写入 png 文件,但不是粗体文本。谁能提供一个如何实现这一目标的例子?

我认为最简单的解决方案可能是使用文本的粗体变体,但我无法在 Windows/font 文件夹中看到任何提供此内容的内容 - 这是否意味着字体类型具有“粗体属性”,即 T/ F?:
在 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")
4

2 回答 2

16

一个简单的方法:

font = ImageFont.load_default().font

你也可以在谷歌上搜索“verdana.ttf”并将其下载到与 python 文件相同的目录中:

然后像这样添加它:

font = ImageFont.truetype("Verdana.ttf",14)
于 2015-11-15T09:24:08.893 回答
13

您没有在控制面板中查看实际的字体文件(资源管理器在 Windows/fonts 文件夹中也神奇地变成了字体查看器控制面板),为了您的方便,它们按系列分组。双击系列以查看系列中的字体:

在此处输入图像描述

然后右键单击并选择属性以找到文件名:

在此处输入图像描述

于 2013-04-06T23:39:09.157 回答