python把文字矢量化_如何将点阵汉字矢量化 | indienova

本文介绍了如何使用Python和FontForge将点阵汉字矢量化,适用于像素游戏和低成本显示。通过提取点阵字体,利用FontForge的自动矢量化功能,结合Potrace工具,可以创建出具有点阵风格的矢量字体。
摘要由CSDN通过智能技术生成

那么是不是点阵汉字就已经退出历史舞台了呢?并没有。现在街上能常常见到的简易 LED 屏,很多都还是用的点阵汉字。很多工控或者简易屏幕上,也都还在使用点阵汉字,这是因为同矢量字体相比,点阵汉字占用的空间极小,这是由于点阵汉字的特性所决定的,一般一个点阵汉字是这样的:

如上图所示,没有像素的点的值设为 0,有像素的点的值设为 1,那么一个 16 点阵汉字就可以用 16x16 位,也就是 4 个字节(Byte)来表示,所以非常节省空间,因此它非常适合用在早期的电脑系统以及需要低成本使用的情况下。尽管它放大之后既不平滑也不利于阅读,但是在文字尺寸比较小的情况下,却有着超过矢量字体的清晰度。所以,在今天的某些汉字字体中,也还包含有多组点阵字库,在特定文字尺寸的时候(比如:12px - 16px),就会使用这些点阵字体来代替矢量字体。

点阵汉字应用场景还是非常广泛,那么上面还没有提到的一点就是:使用在像素游戏中。

2

在游戏中使用点阵汉字

要想在游戏中使用点阵汉字,有两种方法:

一种是使用早期的 GB2312-80 的汉字库,然后编写程序自行解析或者绘制,这里有一篇文章(http://blog.csdn.net/yesking_new/article/details/6694032)可以帮助您了解解析的方法。

使用这种方法相对繁琐,而且要想换成其它语言也要写相应的代码,但是好处也是显而易见的:那就是可以控制点阵汉字的每一个点(Pixel),可以轻易显示出多彩的汉字,甚至可以针对每一个点制作动态的效果,想象力够的话,可以将汉字表现得很炫。(如果今后有机会我会写一篇相关的教学,不做保证 :D)

还有一种方法就是使用带有点阵字库的字体,这样可以轻松的支持多种语言,而且在需要平滑字体的时候也可以使用。不过呢,只有特定尺寸的汉字可以显示成点阵汉字。不过这种方法是做不到对汉字的到点(Pixel)的操作。

一种是使用早期的 GB2312-80 的汉字库,然后编写程序自行解析或者绘制,这里有一篇文章(http://blog.csdn.net/yesking_new/article/details/6694032)可以帮助您了解解析的方法。

使用这种方法相对繁琐,而且要想换成其它语言也要写相应的代码,但是好处也是显而易见的:那就是可以控制点阵汉字的每一个点(Pixel),可以轻易显示出多彩的汉字,甚至可以针对每一个点制作动态的效果,想象力够的话,可以将汉字表现得很炫。(如果今后有机会我会写一篇相关的教学,不做保证 :D)<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值