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

yipeiwu_com5年前Python基础

今天在用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输出中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 实现交换两个列表元素的位置示例

在IDLE 中验证如下: >>> numbers = [5, 6, 7] >>> i = 0 >>> numbers[i],...

Linux下用Python脚本监控目录变化代码分享

#!/usr/bin/env python #coding=utf-8 import os from pyinotify import WatchManager, Notifier...

python lxml中etree的简单应用

python lxml中etree的简单应用

我一般都是通过xpath解析DOM树的时候会使用lxml的etree,可以很方便的从html源码中得到自己想要的内容。 这里主要介绍一下我常用到的两个方法,分别是etree.HTML()...

Python判断变量是否为Json格式的字符串示例

Json介绍 全名JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于...

Python3enumrate和range对比及示例详解

前言 在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环...