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使用logging模块发送邮件代码示例
Jan 18 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
对pandas中apply函数的用法详解
Apr 10 Python
一百多行python代码实现抢票助手
Sep 25 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
python五子棋游戏的设计与实现
Jun 18 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 Python
Python colormap库的安装和使用详情
Oct 06 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
Python制作动态字符画的源码
Aug 04 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 高性能书写
2010/12/11 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
js电话号码验证方法
2015/09/28 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
探究python中open函数的使用
2016/03/01 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
tensorflow 模型权重导出实例
2020/01/24 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python是什么 Python的用处
2020/05/26 Python
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
消防安全承诺书
2014/05/22 职场文书
小学庆六一活动总结
2014/08/28 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
辞职书格式样本
2015/02/26 职场文书
详细介绍python类及类的用法
2021/05/31 Python
golang使用map实现去除重复数组
2022/04/14 Golang