Python输出汉字字库及将文字转换为图片的方法


Posted in Python onJune 04, 2016

用python输出汉字字库
问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢?
问题2:怎么把unicode编码的字写入文件呢,如果直接用open()的话,会提示UnicodeEncodeError: 'ascii' codec can't encode character u'\u4e00' in position 0: ordinal not in range(128)

问题1的答案是用unichr,问题2的答案是用codecs。
下面上代码。

import codecs 
start,end = (0x4E00, 0x9FA5) 
with codecs.open("chinese.txt", "wb", encoding="utf-8") as f: 
 for codepoint in range(int(start),int(end)): 
  f.write(unichr(codepoint))

打开chinese.txt文件,截图如下

Python输出汉字字库及将文字转换为图片的方法

用python将文本转图片字库
上面提到怎么得到汉字字库,下面就来讲怎么把一个一个的字转成图片,这在机器学习中会有用处。
一句话,用pygame渲染文字到图片上。
下面上代码。

import os 
import pygame 
chinese_dir = 'chinese' 
if not os.path.exists(chinese_dir): 
 os.mkdir(chinese_dir) 
 
pygame.init() 
start,end = (0x4E00, 0x9FA5)#汉字编码范围 
for codepoint in range(int(start),int(end)): 
 word = unichr(codepoint) 
 font = pygame.font.Font("msyh.ttc", 22)#当前目录下要有微软雅黑的字体文件msyh.ttc,或者去c:\Windows\Fonts目录下找 
 rtext = font.render(word, True, (0, 0, 0), (255, 255, 255)) 
 pygame.image.save(rtext, os.path.join(chinese_dir,word+".png"))

下面是效果截图。

Python输出汉字字库及将文字转换为图片的方法

Python 相关文章推荐
深入解析Python中的线程同步方法
Jun 14 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
如何通过python的fabric包完成代码上传部署
Jul 29 Python
python实现WebSocket服务端过程解析
Oct 18 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
基于python实现破解滑动验证码过程解析
May 28 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
关于python中readlines函数的参数hint的相关知识总结
Jun 24 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 #Python
Python的Django中将文件上传至七牛云存储的代码分享
Jun 03 #Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 #Python
详解字典树Trie结构及其Python代码实现
Jun 03 #Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 #Python
Python中的descriptor描述器简明使用指南
Jun 02 #Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 #Python
You might like
自己前几天写的无限分类类
2007/02/14 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
php7 新增功能实例总结
2020/05/25 PHP
再论Javascript下字符串连接的性能
2011/03/05 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
教大家使用Python SqlAlchemy
2016/02/12 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
Python中捕获键盘的方式详解
2019/03/28 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
新农村建设标语
2014/06/24 职场文书
暑期学习心得体会
2014/09/02 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
实践论读书笔记
2015/06/29 职场文书
医院岗前培训心得体会
2016/01/08 职场文书