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读写json文件的简单实现
Apr 11 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
python+opencv实现动态物体追踪
Jan 09 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
Python操作MySQL模拟银行转账
Mar 12 Python
django 实现编写控制登录和访问权限控制的中间件方法
Jan 15 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
Python函数中的可变长参数详解
Sep 12 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
Python可以实现栈的结构吗
May 27 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
python3 循环读取excel文件并写入json操作
Jul 14 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 实现判断用户是否手机访问
2015/01/21 PHP
Mootools 1.2教程 函数
2009/09/15 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
Underscore源码分析
2015/12/30 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Django stark组件使用及原理详解
2019/08/22 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
CSS3 边框效果
2019/11/04 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
南京某公司笔试题
2013/01/27 面试题
经理岗位职责
2015/02/02 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
学生会部长竞选稿
2015/11/19 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
golang的文件创建及读写操作
2022/04/14 Golang