解决Python3用PIL的ImageFont输出中文乱码的问题

四个拥有:无论你有多弱或多强,一定要拥有真正爱你的人,拥有知心的朋友,拥有向上的事业,拥有温暖的住所。

今天在用python3+ImageFont输出中文时,结果显示乱码

# coding:utf-8
from PIL import Image, ImageDraw, ImageFont

image= Image.new('RGB', (559, 320),(255,255,255))
draw = ImageDraw.Draw(image)

# draw.text()
font = ImageFont.truetype("arial", 40, encoding="unic") # 设置字体
draw.text((100, 50), "哈哈哈", 'black', font)
# del draw
image.show()
# printers = win32print.EnumPrinters(10)
# print printers

有个简单的解决方法,修改字体为simsun.ttc即可:

# coding:utf-8

from PIL import Image, ImageDraw, ImageFont

image= Image.new('RGB', (559, 320),(255,255,255))
draw = ImageDraw.Draw(image)

# draw.text()
font = ImageFont.truetype("simsun.ttc", 40, encoding="unic") # 设置字体
draw.text((100, 50), "哈哈哈", 'black', font)
# del draw
image.show()
# printers = win32print.EnumPrinters(10)
# print printers

以上这篇解决Python3用PIL的ImageFont输出中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签: PIL ImageFont