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的@property装饰器的用法
Apr 28 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
python中利用Future对象异步返回结果示例代码
Sep 07 Python
python去除扩展名的实例讲解
Apr 23 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python绘制热力图heatmap
Mar 23 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
解析python的局部变量和全局变量
Aug 15 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
python如何支持并发方法详解
Jul 25 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
4.与数据库的连接
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
php 魔术方法详解
2014/11/11 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
面包屑导航详解
2017/12/07 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Django实现学生管理系统
2019/02/26 Python
python如何读取bin文件并下发串口
2019/07/05 Python
Django--权限Permissions的例子
2019/08/28 Python
Python列表list操作相关知识小结
2020/01/29 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
一位农村小子的自荐信
2014/04/07 职场文书
自查自纠工作总结
2014/10/15 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android