一种点阵字库抗锯齿显示的方法及系统的制作方法

文档序号:2539428阅读:568来源:国知局
一种点阵字库抗锯齿显示的方法及系统的制作方法
【专利摘要】本发明公开一种点阵字库抗锯齿显示的方法及系统,其中,方法包括步骤:根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中;在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn;根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
【专利说明】一种点阵字库抗锯齿显示的方法及系统
【技术领域】
[0001]本发明涉及字体显示【技术领域】,尤其涉及一种点阵字库抗锯齿显示的方法及系统。
【背景技术】
[0002]点阵字库因具有数据量小、解码显示效率高的优点,广泛地应用于嵌入式系统中。现有技术中,在制作点阵字库时,需先确定字体尺寸大小(例如28*28像素、32*32像素、36*36像素等),然后扫描每个字显示时的每个像素,每个像素用I个比特信息来表示该像素是否被着色(O表示没被着色,I表示被着色),这样一个32*32像素大小的字的像素情况就可以用32*32比特的信息来表示,即可用32*4个字节信息来进行表示,并存储到点阵字库中。
[0003]现有技术对每个像素只用I个像素来表示着色或者不着色的信息,在显示时只能根据每个像素为I则直接着某具体色,为O则不着色。例如,以一个32*32像素大小的隶书字体“人”字为例来分析现有点阵字库技术的特点,如图1所示,它以32*32个比特来描述该字显示的像素信息,I代表着色,O代表不着色。在显示时,按照上述比特信息进行着色后的显示效果如图2所示,图2存在一定的锯齿现象,若将图2放大8倍,可得到图3所示的放大图,从图3可看出现有的显示方法存在文字边缘存在明显的锯齿现象,且放大倍数越高,锯齿越明显。
[0004]显然,现有的显示方法缺少每个像素的灰度信息,缺少和背景颜色的比列融合,必然会导致锯齿现象。
[0005]因此,现有技术还有待于改进和发展。

【发明内容】

[0006]鉴于上述现有技术的不足,本发明的目的在于提供一种点阵字库抗锯齿显示的方法及系统,旨在解决现有技术中点阵字库显示时存在锯齿现象的问题。
[0007]本发明的技术方案如下:
一种点阵字库抗锯齿显示的方法,其中,包括步骤:
A、将文字输出在背景上后,逐个获取每一像素的颜色,并计算出颜色不等于背景颜色的像素的亮度值Y ;
B、根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中;
C、在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn ;
D、根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜&F_RGB以及背景需显示的颜&G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
[0008]所述的点阵字库抗锯齿显示的方法,其中,所述步骤A中,所述文字为白色文字,所述背景为黑色背景。
[0009]所述的点阵字库抗锯齿显示的方法,其中,所述归一化级数包括4级:1比特级、2比特级、4比特级、8比特级,I比特级表示I个像素采用I个比特来表示,2比特级表示I个像素采用2个比特来表示,4比特级表示I个像素采用4个比特来表示,8比特表示I个像素采用8个比特来表示。
[0010]所述的点阵字库抗锯齿显示的方法,其中,所述步骤A中,亮度值Y=0.299*R+0.587*G+0.114*B,R、G、B为文字输出在背景上后的像素RGB各分量的值。
[0011]所述的点阵字库抗锯齿显示的方法,其中,所述步骤D中的混合比例值R:R=S。/smax,S。表示亮度数组Yn中相应像素的亮度等级,Smax表示相应归一化级数下最大的比特值。
[0012]所述的点阵字库抗锯齿显示的方法,其中,所述步骤D中着色颜色N_RGB:N_RGB=F_RGB * R + G_RGB *(1_R)。
[0013]一种点阵字库抗锯齿显示的系统,其中,包括:
亮度值计算模块,用于将文字输出在背景上后,逐个获取每一像素的颜色,并计算出颜色不等于背景颜色的像素的亮度值Y ;
点阵字库存储模块,用于根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中;
亮度数组获取模块,用于在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn ;
着色模块,用于根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜色F_RGB以及背景需显示的颜&G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
[0014]所述的点阵字库抗锯齿显示的系统,其中,所述归一化级数包括4级:1比特级、2比特级、4比特级、8比特级,I比特级表示I个像素采用I个比特来表示,2比特级表示I个像素采用2个比特来表示,4比特级表示I个像素采用4个比特来表示,8比特表示I个像素采用8个比特来表示。
[0015]所述的点阵字库抗锯齿显示的系统,其中,所述混合比例值R:R=SC/Sfflax, S。表示亮度数组Yn中相应像素的亮度等级,Smax表示相应归一化级数下最大的比特值。
[0016]所述的点阵字库抗锯齿显示的系统,其中,所述着色颜&N_RGB:N_RGB= F_RGB *R + G_RGB * (1-R)。
[0017]有益效果:本发明的抗锯齿显示的方法,在字库制作过程中每个像素使用多个比特来表示像素的亮度等级,在显示时先获得像素对于显示位置的背景像素颜色,然后根据亮度等级获得在显示时和背景颜色的混合比例值,最后计算出和背景颜色进行融合的具体着色颜色,使得字体边缘和背景能够进行平滑过渡,实现了抗锯齿显示效果。
【专利附图】

【附图说明】
[0018]图1为现有技术中隶书字体“人”字比特内容图。[0019]图2为图1比特内容图进行着色后的显示图。
[0020]图3为对图2放大8倍之后的放大图。
[0021]图4为本发明点阵字库抗锯齿显示的方法较佳实施例的流程图。
[0022]图5为采用本发明的方法对人”字进行着色之后的显示图。
[0023]图6为对图5放大8倍之后的放大图。
[0024]图7为本发明点阵字库抗锯齿显示的系统较佳实施例的结构框图。
【具体实施方式】
[0025]本发明提供一种点阵字库抗锯齿显示的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]请参阅图4,图4为本发明点阵字库抗锯齿显示的方法较佳实施例的流程图,如图所示,其包括步骤:
5101、将文字输出在背景上后,逐个获取每一像素的颜色,并计算出颜色不等于背景颜色的像素的亮度值Y ;
5102、根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中;
5103、在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn ;
5104、根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜色F_RGB以及背景需显示的颜&G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
[0027]具体来说,步骤SlOl及步骤S102为制作点阵字库的过程:
首先,需要计算出亮度值Y:例如文字背景颜色采用黑色(即RGB色为(0,0,0)),文字字体颜色采用白色(即RGB色为(255,255,255)),即采用黑底白字的方式。
[0028]文字输出在背景上之后,逐个像素获得每一像素的RGB色(包含各分量),对颜色不等于背景色即黑色的像素计算出其像素的亮度值Y,对于颜色等于背景色的像素则不用计算,即没有文字显示在相应位置上。在黑底白字情况下,R=G=B,所以也可以直接采用其R色分量作为其亮度值Y,当然,对于其他情况,可采用如下公式来计算像素亮度值Y:Y=0.299*R+0.587*G+0.114*B,其中,Y值最大可为255,Y值最小为0,这样对于32*32像素大小的字体,可以得到32*32个像素的亮度数组,可以用32*32个字节来表示。
[0029]在步骤S102中,需根据抗锯齿精度需要来对每个像素的亮度值Y进行归一化处理得到归一化后的亮度等级信息,根据抗锯齿精度需要,归一化亮度等级包括四种:1比特级、2比特级、4比特级、8比特级,I比特级表示I个像素采用I个比特来表示(可表示2级亮度等级),2比特级表示I个像素采用2个比特来表示(可表示4级亮度等级),4比特级表示I个像素采用4个比特来表示(可表示16级亮度等级),8比特表示I个像素采用8个比特来表示(可表示256级亮度等级)。其对应的归一化表如表I所示(8比特过长,故省略)。
[0030]表I
【权利要求】
1.一种点阵字库抗锯齿显示的方法,其特征在于,包括步骤: A、将文字输出在背景上后,逐个获取每一像素的颜色,并计算出颜色不等于背景颜色的像素的亮度值Y ; B、根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中; C、在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn ; D、根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜&F_RGB以及背景需显示的颜&G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
2.根据权利要求1所述的点阵字库抗锯齿显示的方法,其特征在于,所述步骤A中,所述文字为白色文字,所述背景为黑色背景。
3.根据权利要求1所述的点阵字库抗锯齿显示的方法,其特征在于,所述归一化级数包括4级:1比特级、2比特级、4比特级、8比特级,I比特级表示I个像素采用I个比特来表示,2比特级表示I个像素采用2个比特来表示,4比特级表示I个像素采用4个比特来表示,8比特表示I个像素采用8个比特来表示。
4.根据权利要求1所述的点阵字库抗锯齿显示的方法,其特征在于,所述步骤A中,亮度值Y=0.299*R+0.587*G+0.114*B,R、G、B为文字输出在背景上后的像素RGB各分量的值。
5.根据权利要求1所述的点阵字库抗锯齿显示的方法,其特征在于,所述步骤D中的混合比例值R:R=SC/Sfflax, S。表示亮度数组Yn中相应像素的亮度等级,Sfflax表示相应归一化级数下最大的比特值。
6.根据权利要求5所述的点阵字库抗锯齿显示的方法,其特征在于,所述步骤D中着色颜色 N_RGB:N_RGB= F_RGB * R + G_RGB * (1-R)。
7. 一种点阵字库抗锯齿显示的系统,其特征在于,包括: 亮度值计算模块,用于将文字输出在背景上后,逐个获取每一像素的颜色,并计算出颜色不等于背景颜色的像素的亮度值Y ; 点阵字库存储模块,用于根据抗锯齿等级需要,按照相应的归一化级数对每个像素的亮度值Y进行归一化处理获得每个像素的亮度等级并组成亮度数组Yn,并将归一化级数及相应的亮度数组Yn存储到点阵字库中; 亮度数组获取模块,用于在显示时,获得文字需显示的颜色F_RGB以及背景需显示的颜色G_RGB,并根据归一化级数从点阵字库中获取该文字的亮度数组Yn ; 着色模块,用于根据该亮度数组Yn中的每个像素的亮度等级计算出相应的混合比例值,根据混合比例值计算文字需显示的颜色F_RGB以及背景需显示的颜&G_RGB混合后所需的着色颜色N_RGB,并按照着色颜色对像素要显示的位置进行着色。
8.根据权利要求7所述的点阵字库抗锯齿显示的系统,其特征在于,所述归一化级数包括4级:1比特级、2比特级、4比特级、8比特级,I比特级表示I个像素采用I个比特来表示,2比特级表示I个像素采用2个比特来表示,4比特级表示I个像素采用4个比特来表示,8比特表示I个像素采用8个比特来表示。
9.根据权利要求7所述的点阵字库抗锯齿显示的系统,其特征在于,所述混合比例值R:R=SC/Sfflax, S。表示亮度数组Yn中相应像素的亮度等级,Sfflax表示相应归一化级数下最大的比特值。
10.根据权利要求9所述的点阵字库抗锯齿显示的系统,其特征在于,所述着色颜&N_RGB:N_RGB= F_RGB * R + G_RGB * (1-R)。
【文档编号】G09G5/28GK103531177SQ201310463097
【公开日】2014年1月22日 申请日期:2013年10月8日 优先权日:2013年10月8日
【发明者】彭文剑 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1