CN102280098B - 点阵字缩放的方法及系统 - Google Patents
点阵字缩放的方法及系统 Download PDFInfo
- Publication number
- CN102280098B CN102280098B CN201010194227.6A CN201010194227A CN102280098B CN 102280098 B CN102280098 B CN 102280098B CN 201010194227 A CN201010194227 A CN 201010194227A CN 102280098 B CN102280098 B CN 102280098B
- Authority
- CN
- China
- Prior art keywords
- viewing area
- dot matrix
- word library
- character
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006870 function Effects 0.000 claims description 17
- 230000000694 effects Effects 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及一种点阵字缩放的方法及系统,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域,所述方法包括以下步骤:S1、创建像素大小与所述基础点阵字库的字形大小相等的原显示区域;S2、创建像素大小与所需字形大小相等的临时显示区域;S3、从所述基础点阵字库中调取与所需字符对应的点阵码信息并显示到所述原显示区域;S4、调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中;S5、将所述临时显示区域中的内容拷贝至所述最终显示区域。本发明利用硬件的bilblt功能,由一个基础点阵字库平滑得到所需的其它字形大小的点阵点阵字符,其算法简单、转换快速、效果好,所需的存储空间较小,同时又不占用CPU资源。
Description
技术领域
本发明涉及字符显示技术,更具体地说,涉及一种点阵字缩放的方法及系统。
背景技术
在字符的输出过程中,需要使用到字库中存储的字符信息。字库按照其描述字符信息原理的不同分为点阵字库和矢量字库。其中,矢量字库记录了字符的轮廓信息,且具备无级缩放的功能,但构造字库的难度大成本高,同时字符输出的算法也较为复杂。
点阵字库则描述了字符每个像素点上是否着色的信息。点阵字库构造简单,字符输出算法也很简单,同时字库占用的CPU和存储资源都比较低。点阵字库已经广泛的使用在各种嵌入式系统中。
然而,点阵字库中的字符形状不能无级缩放。而在使用点阵字库的嵌入式系统中,往往会遇到需要多种不同大小字形的情况,在这种情况下,现有技术一般通过以下方法来实现:
1、在系统中预备所需的多种大小字形的点阵字库。使用多个字形大小的点阵字库,显然需要成倍的存储空间,点阵字库一般用1位(bit)空间来描述一个像素是否着色的信息,那么对于一个32*32大小的gb2312点阵字库就需要使用7445*32*32/8=952960字节存储空间,如果同时需要24*24,28*28,32*32等大小的字库,那么所需的存储空间是非常大的。
2、先对字符的点阵信息进行扫描获得其轮廓信息,再对其进行矢量化,再放大到所需大小字形后通过画贝赛尔曲线或直线及填充操作等来输出显示。这种算法在本质上就是矢量算法。使用点阵字库矢量化来处理,除了算法本身难以实现外,在矢量化过程和字符输出过程的算法都涉及到贝赛尔曲线的复杂曲线及矢量运算,使得在运算能力比较低的嵌入式系统中导致字符输出显示速度慢,显示效率低下。
此外,如果所需的几种字形大小成整数倍,那么可以通过对每个点放大整数倍的方法来输出显示。然而在实际应用中,绝大部分所需的不同字形大小并不是成整数倍的,而是比较临近的字形大小,比如20*20,24*24,28*28等等。
点阵字库描述的是字符每个像素点的是否着色信息,要实现对其字形大小的缩放,如果是缩放整数倍,那么显然可以很简单的对每个点在水平方向和垂直方向进行相应倍数缩放就可以实现。然而在实际应用中,绝大部分所需的不同字形大小并不是成整数倍的,而是比较临近的字形大小,比如20*20,24*24,28*28等等,这些字形大小有较明显差距但有还不够成倍数关系。因此,无法简单地使用倍数缩放方法来进行输出,必须通过复杂的算法进行抽样、取样、补点等运算,对CPU要求比较高。而且缩放后的效果会产生不同程度的失真。
发明内容
本发明要解决的技术问题在于,针对现有技术的点阵字库在需要输出不成整数倍字形的字符时输出算法复杂且易失真的缺陷,提供一种点阵字缩放的方法。
本发明解决其技术问题所采用的技术方案是:构造一种点阵字缩放的方法,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域,包括以下步骤:
S1、创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容;
S2、创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容;
S3、从所述基础点阵字库中调取与所需字符对应的点阵码信息并显示到所述原显示区域;
S4、调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中;
S5、将所述临时显示区域中的内容拷贝至所述最终显示区域。
在本发明所述的点阵字缩放的方法中,所述步骤S3进一步包括:根据所需字符从基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域。
在本发明所述的点阵字缩放的方法中,所述步骤S5包括:对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点信息至所述最终显示区域的对应像素位置。
在本发明所述的点阵字缩放的方法中,所述基础点阵字库为大小为36*36及以上的点阵字库。
本发明还提供了一种点阵字缩放的系统,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域,包括:
存储模块,用于存储基础点阵字库;
原显示区域模块,与所述存储模块相连,用于创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容,随后从所述存储模块中存储的基础点阵字库中调取与所需字符对应的点阵码信息并显示到所述原显示区域;
临时显示区域模块,用于创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容;
缩放计算模块,与所述原显示区域模块和临时显示区域模块相连,用于调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中;
最终显示区域模块,与所述临时显示区域模块相连,用于将所述临时显示区域中的内容拷贝至所述最终显示区域。
在本发明所述的点阵字缩放的系统中,所述原显示区域模块根据所需字符从所述存储模块中存储的基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域。
在本发明所述的点阵字缩放的系统中,所述最终显示区域模块对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点信息至所述最终显示区域的对应像素位置。
在本发明所述的点阵字缩放的系统中,所述基础点阵字库为大小为36*36及以上的点阵字库。
实施本发明的点阵字缩放的方法及系统,具有以下有益效果:本发明利用硬件的bilblt功能,由一个基础点阵字库平滑得到所需的其它字形大小的点阵点阵字符;在该方法中,由于只需存储一个基础点阵字库因此所需的存储空间较小;此外,通过利用bilblt函数进行转换,其算法简单、转换快速、效果好,同时又不占用CPU资源。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明优选实施例中点阵字缩放的方法流程图;
图2是本发明优选实施例中点阵字缩放的系统的模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
由于硬件性能的提高,很多硬件的显示模块都提供了硬件bilblt功能,硬件bilblt功能是指通过硬件(多为专用的DSP处理器)来对显示内容进行无级缩小,无级放大,搬运,混合等处理。具有速度快,效果好,不占用CPU资源等优势。本发明在点阵字的缩放过程中,利用到上述硬件的bilblt功能,从而通过简单的软件流程来实现对点阵字库中字符进行缩放以获得需要大小的字符输出。
请参阅图1,为本发明优选实施例中点阵字缩放的方法流程图。如图1所示,本发明提供了一种点阵字缩放的方法,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域。该方法首先需要在系统中存储基础点阵字库,即任意选择一种大小的点阵字库进行存储。考虑到过小的点阵字库在转换过程中可能会存在像素不全不均匀和笔画丢失情况,因此为了保证转换的效果,也可以优选字形较大的点阵字库,例如36*36以上的点阵字库。
该方法具体包括以下步骤:
首先在步骤S1中,创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容。
随后在步骤S2中,创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容。
随后在步骤S3中,从所述基础点阵字库中调取与所需字符对应的点阵码信息并显示到所述原显示区域。在本发明的进一步优选实施例中,步骤S3具体为:根据所需字符从基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域。
随后在步骤S4中,调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中。
随后在步骤S5中,将所述临时显示区域中的内容拷贝至所述最终显示区域。在本发明的进一步优选实施例中,步骤S5具体为对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点信息至所述最终显示区域的对应像素位置。
下面以24*24大小的点阵字库为基础点阵字库进行说明。如果需要输出不同字形大小,例如28*28的字符,则其缩放过程如下:
1、先建立一个24*24像素的原显示区域,并清空该区域内所有内容。
2、建立一个28*28像素的临时显示区域,并清空该区域内所有内容。
3、对于某个要输出的字符,例如“大”字,可以从基础点阵字库中获得该字符“大”的点阵码信息,按所需颜色着色到24*24像素的显示区域。
4、利用硬件bilblt功能该函数将24*24像素的原显示区域放大到28*28像素的临时显示区域。即调取bilblt函数对所述原显示区域中的像素点信息进行放大运算并填充到临时显示区域中。
5、对28*28像素的临时显示区域内容逐点判断是否被着色,如果是则拷贝到该像素点内容到最终显示区域的相应位置。
从上面过程可以看到,基础点阵字库的字形大小为24*24,而输出到最终显示区域的字形大小为28*28,两者不成整数倍数,因此无法用现有的直接缩放的方法来实现。而本发明的方法则可以快速地对其进行缩放,且最后输出的字符像素均匀,曲线平滑。
请参阅图2,为本发明优选实施例中点阵字缩放的系统的模块示意图。如图2所示,本发明提供了一种点阵字缩放的系统,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域。该系统主要包括存储模块100、原显示区域模块200、临时显示区域模块300、缩放计算模块400和最终显示区域模块500。
其中,存储模块100,用于存储基础点阵字库。同样该存储模块100存储的基础点阵字库可以选择任意大小的点阵字库。考虑到过小的点阵字库在转换过程中可能会存在像素不全不均匀和笔画丢失情况,因此为了保证转换的效果,也可以优选字形较大的点阵字库,例如36*36以上的点阵字库。
原显示区域模块200与所述存储模块100相连。原显示区域模块200首先创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容,随后从所述存储模块100中存储的基础点阵字库中调取与所需字符对应的点阵码信息并显示到所述原显示区域。在本发明更进一步的优选实施例中,原显示区域模块200根据所需字符从所述存储模块中存储的基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域。
临时显示区域模块300用于创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容。
缩放计算模块400与原显示区域模块200和临时显示区域模块300相连。缩放计算模块400用于在原显示区域和临时显示区域创建后,且临时显示区域已显示了从基础点阵字库中调取的字符图像后,调取bilblt函数对原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中。
最终显示区域模块500,与所述临时显示区域模块300相连,用于将临时显示区域中的内容拷贝至所述最终显示区域。在本发明更进一步的优选实施例中,所述最终显示区域模块500对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点信息至所述最终显示区域的对应像素位置。
综上所述,本发明的点阵字缩放的方法及系统利用硬件的bilblt功能,由一个基础点阵字库平滑得到所需的其它字形大小的点阵点阵字符;在该方法中,由于只需存储一个基础点阵字库因此所需的存储空间较小;此外,通过利用bilblt函数进行转换,其算法简单、转换快速、效果好,同时又不占用CPU资源。
本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。
Claims (4)
1.一种点阵字缩放的方法,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域,其特征在于,包括以下步骤:
S0、预存基础点阵字库;
S1、创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容;
S2、创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容;
S3、根据所需字符从所述基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域;
S4、调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中;
S5、对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点信息至所述最终显示区域的对应像素位置。
2.根据权利要求1所述的点阵字缩放的方法,其特征在于,所述基础点阵字库为大小为36*36及以上的点阵字库。
3.一种点阵字缩放的系统,用于根据基础点阵字库输出所需字形大小的字符至最终显示区域,其特征在于,包括:
存储模块(100),用于存储基础点阵字库;
原显示区域模块(200),与所述存储模块(100)相连,用于创建像素大小与所述基础点阵字库的字形大小相等的原显示区域并清空所述原显示区域中所有内容,随后根据所需字符从所述存储模块(100)中存储的基础点阵字库中调取与该字符对应的点阵码信息,按所需颜色着色到所述原显示区域;
临时显示区域模块(300),用于创建像素大小与所需字形大小相等的临时显示区域,并清空所述临时显示区域中所有内容;
缩放计算模块(400),与所述原显示区域模块(200)和临时显示区域模块(300)相连,用于调取bilblt函数对所述原显示区域中的像素点信息进行缩放运算并填充到所述临时显示区域中;
最终显示区域模块(500),与所述临时显示区域模块(300)相连,用于对所述临时显示区域中的像素点信息逐点判断是否被着色,如果是则拷贝该像素点至所述最终显示区域的对应像素位置。
4.根据权利要求3所述的点阵字缩放的系统,其特征在于,所述基础点阵字库为大小为36*36及以上的点阵字库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010194227.6A CN102280098B (zh) | 2010-06-08 | 2010-06-08 | 点阵字缩放的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010194227.6A CN102280098B (zh) | 2010-06-08 | 2010-06-08 | 点阵字缩放的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102280098A CN102280098A (zh) | 2011-12-14 |
CN102280098B true CN102280098B (zh) | 2014-11-05 |
Family
ID=45105514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010194227.6A Active CN102280098B (zh) | 2010-06-08 | 2010-06-08 | 点阵字缩放的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102280098B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102496357A (zh) * | 2011-12-17 | 2012-06-13 | 天津深楠信息安全有限公司 | 一种usb key液晶屏显示字体的放大方法 |
CN102542994A (zh) * | 2012-03-14 | 2012-07-04 | 无锡聚润光电电器有限公司 | 公交车上运行信息的显示方法及其显示装置 |
CN107402734A (zh) * | 2017-07-25 | 2017-11-28 | 浪潮金融信息技术有限公司 | 一种随屏幕分辨率自动调节文本清晰度的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510421A (zh) * | 2009-01-16 | 2009-08-19 | 北京中星微电子有限公司 | 一种调整点阵字符大小的方法、装置及一种嵌入式系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5206679B2 (ja) * | 2007-06-29 | 2013-06-12 | 富士通株式会社 | 情報表示装置,情報表示方法および情報表示プログラム |
-
2010
- 2010-06-08 CN CN201010194227.6A patent/CN102280098B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510421A (zh) * | 2009-01-16 | 2009-08-19 | 北京中星微电子有限公司 | 一种调整点阵字符大小的方法、装置及一种嵌入式系统 |
Non-Patent Citations (2)
Title |
---|
Kevin L. Kloker 等."THE MOTOROLA DSP96002 IEEE FLOATING-POINT DIGITAL SIGNAL PROCESSOR".《Twenty-second asilomar conference on signals,systems and computers》.1989,第2480-2483页. * |
Kevin L. Kloker 等."THE MOTOROLA DSP96002 IEEE FLOATING-POINT DIGITAL SIGNAL PROCESSOR".《Twenty-second asilomar conference on signals,systems and computers》.1989,第2480-2483页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102280098A (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786942B (zh) | 一种基于云平台的地理信息存储系统 | |
US8571338B2 (en) | Image file generation device, image processing device, image file generation method, and image processing method | |
CN1856819B (zh) | 通过分布式应用程序的图形数据的网络传输的系统和方法 | |
CN101261740B (zh) | 一种图像的存储处理方法 | |
EP2525294A1 (en) | Method and device for rendering user interface font | |
CN101227554B (zh) | 一种实现机顶盒在电视上自适应显示的方法及系统 | |
WO2016133730A1 (en) | Systems and methods for reducing memory bandwidth using low quality tiles | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
CN101510421B (zh) | 一种调整点阵字符大小的方法、装置及一种嵌入式系统 | |
CN102280098B (zh) | 点阵字缩放的方法及系统 | |
CN109544668A (zh) | 纹理坐标处理方法、终端设备及计算机可读存储介质 | |
CN115988170A (zh) | 云会议中实时视频合屏中英文字符清晰显示的方法与装置 | |
CN106777107A (zh) | 一种数字标本瓦片数据存储的方法 | |
CN103034975A (zh) | 图像处理方法及装置 | |
CN105741335A (zh) | 一种基于分块组织的多层次兵棋地图快速绘制方法 | |
CN102263924B (zh) | 一种基于双三次插值的图像处理方法及其图像显示方法 | |
CN103268619B (zh) | swf文件中图片数据批量压缩的方法及装置 | |
CN104978756A (zh) | 一种嵌入互动组件的页面的无缝缩放方法及装置 | |
CN107506119A (zh) | 一种图片显示方法、装置、设备和存储介质 | |
WO2011082651A1 (zh) | 空间实体遮挡类型的判定方法及装置 | |
EP3210191B1 (en) | Accelerated image gradient based on one-dimensional data | |
Marques et al. | A cloud computing based framework for general 2D and 3D cellular automata simulation | |
CN101986710B (zh) | 一种基于sort-last体系结构的并行绘制系统 | |
CN101556789B (zh) | 一种图像缩放控制系统及方法 | |
US20090079749A1 (en) | Emitting raster and vector content from a single software component |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200701 Address after: 23 / F, Guangdong hi tech District Patentee after: Shenzhen Konka Holding Group Co., Ltd Address before: 518053 Konka Group, Huaqiao Town, Shenzhen, Guangdong, Nanshan District Patentee before: KONKA GROUP Co.,Ltd. |