有问题的功能:
PIL.ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None)
这个问题很标准......胡言乱语:
现在,我正在上面的绘图文本函数中运行一个字符串(utf-8),但是它给出了所有那些奇怪的字符。但是,如果我只打印它,它会显示正确的字符。
我应该改为传递Unicode对象吗?
答案 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()
输出: