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

问题描述:

有问题的功能:枕头是否希望我的文本参数是unicode或字符串?

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

的问题是非常标准的...废话

enter image description here

现在,我运行一个字符串(UTF-8)成平局上面的文字功能,但它给所有那些怪异的字符。但是,如果我只是打印它,它显示的字符很好。

enter image description here

我应该传递的Unicode对象呢?

+0

你尝试了吗? –

+1

邮政编码重现此问题。看看如何制作[mcve]。 –

这对于使用pillow-4.2.1(字符串是Python 3.x中的默认Unicode)的Python 3.6.2和2.7.13是正确的。中文没有显示默认字体,但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

+0

所以Unicode。好,谢谢 – User