一种点阵字符显示的优化方法与流程

文档序号:23720401发布日期:2021-01-24 07:51阅读:259来源:国知局
一种点阵字符显示的优化方法与流程

[0001]
本发明涉及计算机图像显示领域,尤其涉及一种点阵字符显示的优化方法。


背景技术:

[0002]
随着嵌入式电子产品的逐步发展,越来越多产品体现出对更为精致的显示效果的追求,更注重用户的视觉感受,其中,字符的显示就是一种视觉上的直观感受。关于字符显示的清晰度,分辨率是一个非常重要的性能指标,显示器的分辨率越高,可显示的像素就越多,画面就越精细,屏幕区域内能显示的信息也越多。在分辨率低的液晶屏上,点阵字符的显示会遇到这样的难题:笔画为双线体或者三线体的点阵字符的显示效果极易出现锯齿状,特别是弧度较大的笔画,锯齿状的问题就会更加明显,不能很好地展示其笔画线条的美观性;在12x12点阵或者16x16点阵等小字号单线体笔画的字符显示中也会存在这种锯齿现象。
[0003]
现有的技术处理方式是直接将每像素占1bit的点阵字符数据转换为rgb格式进行字符显示。rgb格式是彩色屏的显示数据格式,最常用的rgb格式是rgb565格式。rgb565格式中每个像素占16bit位,前5bit位用来表示红色光的亮度r,中间6bit位用来表示绿色光的亮度g,后5bit位用来表示蓝色光的亮度b,将对应亮度的红色、绿色和蓝色相加混合形成该像素的颜色。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光,使字符轮廓看起来更平滑。
[0004]
现有技术存在以下缺点:一方面,每像素占1bit的点阵格式转换为每像素占16bit的rgb565格式并且必须以图片形式进行存储,所占用的存储空间大大增加,另一方面,算法处理对单片机的资源要求高,无形中增加了单片机的成本。


技术实现要素:

[0005]
针对市场需求和现有技术中存在的问题,本发明提供一种点阵字符显示的优化方法,满足了用户对点阵字符清晰显示的需求。本发明将点阵字符的数据转换为灰度格式的字符数据,并将字符的轮廓位赋值为自定义的灰度值形成灰度轮廓,相较于现有技术rgb格式,同样能达到柔化轮廓、消除锯齿的效果的基础上,大大节省了字库存储空间,节约了成本。
[0006]
该点阵字符显示优化方法包括步骤:获取并扫描原始点阵字符数据;将点阵字符数据转换为灰度格式的字符数据;扫描原始点阵字符数据,确定点阵字符的轮廓位;将点阵字符数据转换为灰度格式的灰度轮廓数据;将灰度格式的灰度轮廓数据与灰度格式的字符数据叠加,形成带灰度轮廓的灰度字符。
[0007]
具体的,将点阵字符数据转换为灰度格式的字符数据包括:将点阵字符数据中bit位上为0的值转化为0000;将点阵字符数据中bit位上为1的值转化为1111。
[0008]
具体的,扫描原始点阵字符数据,确定点阵字符的轮廓位包括:对点阵字符数据进行逐行扫描;相邻两个bit位的值为01时,其中,值为0的bit位是字符的轮廓位;相邻两个
bit位的值为10时,其中,值为0的bit位是字符的轮廓位。
[0009]
具体的,将点阵字符数据转换为灰度格式的灰度轮廓数据包括:将点阵字符轮廓位上为0的值转化为自定义的灰度值;将点阵字符数据中非轮廓位且bit位上为0的值转化为0000;将点阵字符数据中bit位上为1的值转化为1111。
[0010]
具体的,灰度指介于黑色和白色之间不同亮度的灰色;灰度格式中,每像素占4bit位;灰度值指灰度格式中像素所占4bit位上的值,用来表示所采用的灰色颜色的亮度值;灰度值包括16种不同的灰度值;灰度值取值0000时表示不填充,灰度值取值1111时表示填充为黑色。
[0011]
具体的,扫描原始点阵字符数据,确定点阵字符的轮廓位包括:对点阵字符的数据进行逐行扫描;相邻两个bit位的值为01时,其中,值为1的bit位是字符的轮廓位;相邻两个bit位的值为10时,其中,值为1的bit位是字符的轮廓位。
[0012]
具体的,将点阵字符数据转换为灰度格式的灰度轮廓数据包括:提取原始点阵字符的轮廓位数据并用点阵格式表示,得到点阵字符轮廓数据;将点阵字符轮廓数据中bit位上为1的值转化为自定义的灰度值;将点阵字符轮廓数据中bit位上为0的值转化为0000。
[0013]
一种计算机可读存储介质,计算机可读存储介质存储计算机程序,其特征在于,计算机程序被处理器执行时实现如权利要求1至7任一项的点阵字符显示的优化方法。
[0014]
本发明的有益效果在于:本发明提供一种点阵字符显示的优化方法,将点阵字符的数据转换为灰度格式的字符数据,相较于现有技术rgb格式,大大节省了字库存储空间,节约了成本;将点阵字符的轮廓位赋值为自定义的灰度值,并将赋值后的字符轮廓位与灰度格式的字符数据叠加,形成带灰度轮廓的灰度字符,视觉上达到了柔化轮廓、消除锯齿的效果。
附图说明
[0015]
图1为本发明点阵字符灰度化显示优化方法的简易流程图。
具体实施方式
[0016]
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017]
像素是指在由一个数字序列表示的图像中的一个最小单位。用来表示一幅图像的像素越多,画面就越精细,屏幕区域内能显示的信息也越多,结果就越接近原始图像。每个点阵字符都是以一组二维像素信息表示,点阵格式中每个像素占1bit,每个像素位上的取值为二进制值0或1。作为本发明的一种可选实施例,当像素位上取值为0时表示不填充,当像素位上取值为1时表示填充为黑色。
[0018]
灰度指介于黑色和白色之间不同亮度的灰色。灰度格式中,每像素占4bit位。灰度值指灰度格式中像素所占4bit位上的值,用来表示所采用的灰色颜色的亮度值。每个bit位上取二进制值0或1,因此,灰度值包括16种不同的灰度值,分别为0000、0001、0010、0011、
0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111,分别对应于十进制整数中的0至15,随着整数的数额变大,灰色颜色的亮度也逐渐加深,其中,灰度值取值0000时表示不填充,实际显示效果为白色,灰度值取值1111时表示填充为黑色。根据灰度值来填充后的显示效果称为灰度层。
[0019]
如图1所示本发明的简易流程图。首先获取并扫描原始点阵字符数据。然后将点阵字符数据转换为灰度格式的字符数据,即:将点阵字符数据中bit位上为0的值转化为0000;将点阵字符数据中bit位上为1的值转化为1111。再次对原始点阵字符数据进行逐行扫描,确定点阵字符的轮廓位,即:对点阵字符的数据进行逐行扫描;相邻两个bit位的值为01时,其中,值为0的bit位是字符的轮廓位;相邻两个bit位的值为10时,其中,值为0的bit位是字符的轮廓位;根据以上两条判断依据可以确定点阵字符的轮廓位。接着将点阵字符数据转换为灰度格式的灰度轮廓数据:将点阵字符轮廓位上为0的值转化为自定义的灰度值,假设自定义的灰度值为0101,也就是说,将点阵字符轮廓位上为0的值转化为0101;将点阵字符数据中非轮廓位且bit位上为0的值转化为0000;将点阵字符数据中bit位上为1的值转化为1111。最后将灰度格式的灰度轮廓数据与灰度格式的字符数据叠加,形成带灰度轮廓的灰度字符。
[0020]
本发明将每像素占1bit的点阵数据转换为每像素占4bit的灰度格式,只需要存储字符数据及其对应的灰度轮廓数据即可完整显示字符,相较于现有技术中每像素占16bit且必须以图片格式进行存储的rgb565格式,大大节省了字库存储空间,节约了成本。另一方面,本发明对字符的轮廓位赋值为自定义的灰度值形成灰度层,相当于混合了字符轮廓两侧像素的黑白颜色并用新生成的具有混合特性的灰色作为字符轮廓像素的颜色,视觉上达到了柔化轮廓、消除锯齿的效果。
[0021]
作为本发明的另一可选实施例,首先获取并扫描原始点阵字符数据;然后将点阵字符数据转换为灰度格式的字符数据;再次对原始点阵字符数据进行逐行扫描,确定点阵字符的轮廓位;接着将点阵字符数据转换为灰度格式的灰度轮廓数据;最后将灰度格式的灰度轮廓数据与灰度格式的字符数据叠加,形成带灰度轮廓的灰度字符。其中,再次对原始点阵字符数据进行逐行扫描,确定点阵字符的轮廓位具体包括:对点阵字符的数据进行逐行扫描;相邻两个bit位的值为01时,其中,值为1的bit位是字符的轮廓位;相邻两个bit位的值为10时,其中,值为1的bit位是字符的轮廓位。这里定义值为1的bit位是字符的轮廓位,目的是使此处的笔画看起来更细,同样能达到消除锯齿的效果。而将点阵字符数据转换为灰度格式的灰度轮廓数据具体包括:提取原始点阵字符的轮廓位数据并用点阵格式表示,得到点阵字符轮廓数据;将点阵字符轮廓数据中bit位上为1的值转化为自定义的灰度值,假设自定义的灰度值为0101,也就是说,将点阵字符轮廓数据中bit位上为1的值转化为0101;将点阵字符轮廓数据中bit位上为0的值转化为0000。
[0022]
作为本发明的另一可选实施例,获取并扫描原始点阵字符数据,将点阵字符数据转换为灰度格式的字符数据后,扫描灰度格式的字符数据并确定灰度格式字符的轮廓位,直接将灰度格式的字符数据转换为带灰度轮廓的灰度字符数据。其中,扫描灰度格式的字符数据并确定灰度格式字符的轮廓位具体包括:对灰度格式的字符数据进行逐行扫描;相邻两个bit位的值为01时,其中,值为0的bit位是字符的轮廓位;相邻两个bit位的值为10时,其中,值为0的bit位是字符的轮廓位;根据以上两条判断依据可以确定灰度格式字符的
轮廓位。另外,将灰度格式的字符数据转换为带灰度轮廓的灰度字符数据具体包括:假设自定义的灰度值为0101,若相邻两个bit位的值为01,则将bit位上为0的值转化为00101,若相邻两个bit位的值为10,则将bit位上为0的值转化为01010,既符合灰度格式每像素占4bit位的要求,同时又能保证在字符轮廓位填充灰度层,柔化轮廓。
[0023]
作为本发明的另一可选实施例,确定字符的轮廓位后,可以在字符轮廓位填充两层或多层灰度层,每层灰度层设置不一样的灰度值,使靠近字符笔画中心的灰度层颜色较亮,使远离字符笔画中心的灰度层颜色较暗,使柔化轮廓、消除锯齿达到更好的效果。
[0024]
相较于每像素占2bit或者3bit的格式,采用本发明每像素占4bit的灰度格式的好处是,一方面,4bit像素位的颜色值有16种,颜色种类相对多,灰度效果也就相对越好;另一方面,一字节8bit正好能等分成两个4bit,代码处理过程中逻辑清晰,速度也比较快。
[0025]
本发明实现上述技术方案具体采用的是计算机程序的形式来表达,该计算机程序可以存储在计算机可读存储介质中,该计算机程序被处理器执行时实现本发明上述技术方案的点阵字符显示的优化方法,因而,计算机可读存储介质也属于本发明的保护范围。
[0026]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1