Python输出汉字字库及将文字转换为图片的方法
作者:mattkang 发布时间:2023-01-13 07:06:39
标签:Python,汉字,图片
用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将文本转图片字库
上面提到怎么得到汉字字库,下面就来讲怎么把一个一个的字转成图片,这在机器学习中会有用处。
一句话,用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"))
下面是效果截图。


猜你喜欢
- 我的主机内存只有100G,现在要全表扫描一个200G大表,会不会把DB主机的内存用光?逻辑备份时,可不就是做整库扫描吗?若这样就会把内存吃光
- 目录1、压缩并输出tar.gz文档2、tar解压缩查看官方文档,官方自带的演示:// 官方演示package mainimport ( &n
- 本文目的是由浅入深地介绍python装饰器原理装饰器(Decorators)是 Python 的一个重要部分其功能是,在不修改原函数(类)定
- 阿里云 视频直播 配置 及 PHP-SDK 接入教程个人感觉,阿里的文档比微信的要坑很多…微信最多是有些比较重要的东西放到比较不起眼、比较难
- 本文实例为大家分享了Python实现图片格式转换的具体代码,供大家参考,具体内容如下碰上这样一个情景:我从网络上下载了一张表情包图片,存放在
- 本文实例讲述了Python实现PS图像抽象画风效果的方法。分享给大家供大家参考,具体如下:今天介绍一种基于图像分割和color map 随机
- 效果图:二维码用了 qrcode.vuenpm install qrcode.vue --save复制内容用了 vue-clipboard2
- 输入框Input 应当符合逻辑地划分为小组,这样大脑就可以很好的处理大堆区域间的关系。 ——《HTML权威指南》Web 应用程序总是利用表单
- 前序、中序和后序表达式是什么?对于像B∗C 这样的算术表达式,可以根据其形式来正确地运算。在B∗
- DBI安装:DBI详细信息参考:http://dbi.perl.org/ 1.下载DBI包: wget http://search.cpan
- 本文实例为大家分享了python使用Plotly绘图工具绘制柱状图的具体代码,供大家参考,具体内容如下使用Plotly绘制基本的柱状图,需要
- 本文实例讲述了基于python编写的微博应用,分享给大家供大家参考。具体如下:在编写自己的微博应用之前,先要到weibo开放平台申请应用的公
- 工厂模式(Factory Pattern)是什么工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会
- 学习内容1.软件安装及服务器设置。2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL3.数据库基础知识数据库定义关
- 一、前言上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢
- 用js封装一些常用的jquery方法 记录一下hasClass:判断是否有classfunction hasClass(ele, cls)
- MVC和MTV框架 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,
- 使用JS对Json数据的处理,项目遇到需要对Json数据进行相关操作,比如增删改操作,本以为会比较难,网上搜索下,发现还是比较简单的,贴一段
- (一)什么是json:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也
- 本文实例为大家分享了python3判断IP地址的具体代码,供大家参考,具体内容如下输入一串字符,判断该字符串是否为点分十进制的IP地址,若是