PIL:如何使用draw.text在图像上绘制€?

时间:2012-11-20 15:23:25

标签: python python-imaging-library python-unicode

我有一个表格值的标题(“cadeau check 50€”),我希望用arial.ttf写入背景图片。我的文字是正确的,但对于欧元符号。我有2 []到位。我不知道问题出在哪里。这是PIL中的编码问题,还是我对字体有问题?

2 个答案:

答案 0 :(得分:0)

也许使用Unicode字符串?就像u'cadeau检查50€'...现在,你的字体也有相应的字形吗?

答案 1 :(得分:0)

它可能是你的字体。使用相同的字体在GIMP中尝试使用欧元字符,以查看该字体是否支持该代码点。

同时检查您的代码以查看您是否为PIL提供了unicode字符串或字节字符串。 The documentation说你应该这样做:

font = ImageFont.truetype("symbol.ttf", 16, encoding="symb")
draw.text((0, 0), unichr(0xF000 + 0xAA))

欧元符号为unichr(0x20AC)。请注意,unichr返回unicode字符串而不是str(字节)字符串。