Python输出汉字字库及将文字转换为图片的方法

Python输出汉字字库及将文字转换为图片的方法,第1张

概述用python输出汉字字库问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢?

用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,0x9FA5)#汉字编码范围 for codepoint in range(int(start),int(end)):  word = unichr(codepoint)  Font = pygame.Font.Font("msyh.ttc",22)#当前目录下要有微软雅黑的字体文件msyh.ttc,或者去c:\@R_403_5087@\Fonts目录下找  rtext = Font.render(word,True,(0,0),(255,255,255))  pygame.image.save(rtext,os.path.join(chinese_dir,word+".png")) 

下面是效果截图。

总结

以上是内存溢出为你收集整理的Python输出汉字字库及将文字转换为图片的方法全部内容,希望文章能够帮你解决Python输出汉字字库及将文字转换为图片的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1203996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存