問題の機能:
PIL.ImageDraw.Draw.text(xy, text, fill=None, font=None, anchor=None)
問題はかなり標準的なものです...ちんぷんかんぷん:
今のところ、上記のテキスト描画関数に文字列(utf-8)を実行していますが、これらすべての変わった文字が表示されます。ただし、印刷しただけでは、文字は正しく表示されます。
代わりにUnicodeオブジェクトを渡すべきですか?
回答:
回答№1は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()
出力: