Pillow是否希望我的文本参数是unicode或字符串?

时间:2017-09-24 01:40:26

标签: python unicode python-imaging-library python-2.x

有问题的功能:

PIL.ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None)

这个问题很标准......胡言乱语:

enter image description here

现在,我正在上面的绘图文本函数中运行一个字符串(utf-8),但是它给出了所有那些奇怪的字符。但是,如果我只打印它,它会显示正确的字符。

enter image description here

我应该改为传递Unicode对象吗?

1 个答案:

答案 0 :(得分:2)

这适用于带有pillow-4.2.1的Python 3.6.2和2.7.13(字符串是Python 3.x中的默认Unicode)。中文没有显示默认字体,但Arial MS Unicode工作。

#coding:utf8
from PIL import Image,ImageDraw,ImageFont
im = Image.new('1',(100,100))
draw = ImageDraw.Draw(im)
font = ImageFont.truetype(font='ARIALUNI.TTF',size=20)
draw.text((0,0),u'马克','white',font=font)
im.show()

输出:

enter image description here