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实现批量下载文件
May 17 Python
Python常用知识点汇总
May 08 Python
python直接访问私有属性的简单方法
Jul 25 Python
详解Python装饰器由浅入深
Dec 09 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
python中import与from方法总结(推荐)
Mar 21 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
Python 没有main函数的原因
Jul 10 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结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
php 类自动载入的方法
2015/06/03 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
python opencv3实现人脸识别(windows)
2018/05/25 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Java里面有没有全局变量?为什么?
2015/02/06 面试题
.NET面试10题
2014/02/24 面试题
幼儿园教师国培感言
2014/02/02 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
如何撰写促销方案?
2019/07/05 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android