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 元组(Tuple)操作详解
Mar 11 Python
django 自定义用户user模型的三种方法
Nov 18 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
python3设计模式之简单工厂模式
Oct 17 Python
python交互式图形编程实例(三)
Nov 17 Python
numpy基础教程之np.linalg
Feb 12 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 Python
Python通过Pillow实现图片对比
Apr 29 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
python之基数排序的实现
Jul 26 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 数组的指针操作实现代码
2011/02/08 PHP
PHP Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
php微信公众号开发模式详解
2016/11/28 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
python实现redis三种cas事务操作
2017/12/19 Python
多个应用共存的Django配置方法
2018/05/30 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
Python接收手机短信的代码整理
2020/08/02 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
80后职场人的职业生涯规划
2014/03/08 职场文书
十佳青年事迹材料
2014/08/21 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书