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 with statement 进行文件操作指南
Aug 22 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
Python如何使用turtle库绘制图形
Feb 26 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
分享3个非常实用的 Python 模块
Mar 03 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
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
python网络爬虫采集联想词示例
2014/02/11 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
银行会计职员个人的自我评价
2013/09/29 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
招股说明书范本
2014/05/06 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
2015年采购工作总结
2015/04/10 职场文书
行政二审代理词
2015/05/25 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android