前言:
如今兄弟们对“c语言输出点阵”大概比较关怀,各位老铁们都需要知道一些“c语言输出点阵”的相关文章。那么小编同时在网摘上汇集了一些关于“c语言输出点阵””的相关内容,希望兄弟们能喜欢,咱们一起来了解一下吧!点阵字库压缩是一件非常有趣的事情,利用更少的资源,去实现自己预期的目标,特别在空间紧张的情形下,哪怕牺牲些许性能。给大家分享一下最近的研究成果:
说明:Arial 字体, 32点阵,字符数:2815,等高模式(336K)与 W0 压缩(240K)比较,相差近 100K。
当然为了不影响显示效果,点阵字库只能是无损压缩,常见处理方式如下:
一、去除无效数据
1、优化检索表
尽量去除检索表中的空白检索信息。如编码多且不连续,可以通过分段的方式,减少空白检索信息;若编码少,可通过记录有效编码,然后根据编码建立对应的检索信息。
2、优化点阵信息
去除字符点阵中的外围白边信息。只记录有效像素区域信息,点阵越大,效果越发明显。具体可参考:BDF点阵文件格式 ,Not Fixed文件格式详解。
说明:
1、bpp = 1,size = 32,拉丁文字符。
2、注意等高与去白边的空间差异。
二、重新编码
由于考虑点阵字库其特殊性,主要对单个字符的点阵信息逐个进行重新编码压缩。处理方法:利用特殊的编码方式记录冗余数据。如下图示:
说明:
a、zip = 0,表示不压缩, zip > 0,表示压缩,不同数字表示不同的压缩方式。( 1=LZO, 2=WJG0, 3=WJG1, 4=WJG9 )
b、若是压缩数据,需要先解压再显示。
c、压缩效率与点阵大小、位深度相关。如下图示:
注意:小点阵,不适宜压缩。
说明:
1、文件名为xxx-z.bin,表示压缩文件。
2、点阵像素越大,位深度越高,压缩效率越高。
总结:是否需要压缩,怎么压缩,完全取决于自己的应用场景。
武字天书,感恩一路有您!!!