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中的包和模块实例
Nov 22 Python
Python常用内置函数总结
Feb 08 Python
Python导入oracle数据的方法
Jul 10 Python
Python实现随机漫步功能
Jul 09 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
对pytorch中的梯度更新方法详解
Aug 20 Python
python3图片文件批量重命名处理
Oct 31 Python
Python-opencv 双线性插值实例
Jan 17 Python
python实现快递价格查询系统
Mar 03 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
30行Python代码实现高分辨率图像导航的方法
May 22 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从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
详解a++和++a的区别
2017/08/30 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
Jar包的作用是什么
2014/03/30 面试题
感恩节红领巾广播稿
2014/02/11 职场文书
加强作风建设工作总结
2014/10/23 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015年路政工作总结
2015/05/22 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS