- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
点阵字库结构以及点阵字显示的实现原理
??? 在 DOS 下作游戏要实现汉字或英文的输出,一般都是使用的点阵字库技术。这样可以使程序有更好的兼容性。那么我们如何在程序中使用点阵字库呢,这片文档将会讲解这个。
??? 先讲讲什么是点阵字库,我首先需要理解的是点阵字库是一个数据文件,在这个数据文件里面保存了所有文字的点阵数据。至于什么是点阵,我想我不讲大家都知道的,使用过“文曲星”之类的电子辞典吧,那个的液晶显示器上面显示的汉子就能够明显的看出“点阵”的痕迹。在 PC 机上也是如此,文字也是由点阵来组成了,不同的是,PC机显示器的显示分辨率更高,高到了我们肉眼无法区分的地步,因此“点阵”的痕迹也就不那么明显了。
??? 点阵、矩阵、位图这三个概念在本质上是有联系的,从某种程度上来讲,这三个就是同义词。点阵从本质上讲就是单色位图,他使用一个比特来表示一个点,如果这个比特为0,表示某个位置没有点,如果为1表示某个位置有点。矩阵和位图有着密不可分的联系,矩阵其实是位图的数学抽象,是一个二维的阵列。位图就是这种二维的阵列,这个阵列中的 (x,y) 位置上的数据代表的就是对原始图形进行采样量化后的颜色值。但是,另一方面,我们要面对的问题是,计算机中数据的存放都是一维的,线性的。因此,我们需要将二维的数据线性化到一维里面去。通常的做法就是将二维数据按行顺序的存放,这样就线性化到了一维。
??? 那么点阵字的数据存放细节到底是怎么样的呢。其实也十分的简单,举个例子最能说明问题。比如说 16*16 的点阵,也就是说每一行有16个点,由于一个点使用一个比特来表示,如果这个比特的值为1,则表示这个位置有点,如果这个比特的值为0,则表示这个位置没有点,那么一行也就需要16个比特,而8个比特就是一个字节,也就是说,这个点阵中,一行的数据需要两个字节来存放。第一行的前八个点的数据存放在点阵数据的第一个字节里面,第一行的后面八个点的数据存放在点阵数据的第二个字节里面,第二行的前八个点的数据存放在点阵数据的第三个字节里面,...,然后后面的就以此类推了。这样我们可以计算出存放一个点阵总共需要32个字节。看看下面这个图形化的例子:
?????????????? | |1| | | | | | | | | | |1| | | |?????????????? | | |1|1| |1|1|1|1|1|1|1|1|1| | |?????????????? | | | |1| | | | | | | | |1| | | |?????????????? |1| | | | | |1| | | | | |1| | | |?????????????? | |1|1| | | |1| | | | | |1| | | |?????????????? | | |1| | | |1| | | | |1| | | | |?????????????? | | | | |1| | |1| | | |1| | | | |?????????????? | | | |1| | | |1| | |1| | | | | |?????????????? | | |1| | | | | |1| |1| | | | | |?????????????? |1|1|1| | | | | | |1| | | | | | |?????????????? | | |1| | | | | |1| |1| | | | | |?????????????? | | |1| | | | |1| | | |1| | | | |?????????????? | | |1| | | |1| | | | | |1| | | |?????????????? | | |1| | |1| | | | | | |1|1|1| |?????????????? | | | | |1| | | | | | | | |1| | |?????????????? | | | | | | | | | | | | | | | | |
??? 可以看出这是一个“汉”字的点阵,当然文本的方式效果不是很好。根据上面的原则,我们可以写出这个点阵的点阵数据:0x40,0x08,0x37,0xfc,0x10,0x08,..., 当然写这个确实很麻烦所以我不再继续下去。我这样做,也只是为了向你说明,在点阵字库中,每一个点阵的数据就是按照这种方式存放的。
??? 当然也存在着不规则的点阵,这里说的不规则,指的是点阵的宽度不是8的倍数,比如 12*12 的点阵,那么这样的点阵数据又是如何存放的呢?其实也很简单,每一行的前面8个点存放在一个字节里面,每一行的剩下的4点就使用一个字节来存放,也就是说剩下的4个点将占用一个字节的高4位,而这个字节
您可能关注的文档
- 烟草行业经营业务用房建设基准 (2).doc
- 热力学定律与能量守恒定律.doc
- 烟道施工方案孔工给模板.26.doc
- 热炉效应在职中班级管理中应用.doc
- 热爱生活从点滴作起.doc
- 热心农村养殖产业带领农民科技致富.doc
- 热镀锌层厚度的标准与镀锌工件的厚度有关.doc
- 焊接专业施工组织设计.doc
- 焦裕禄精神Word文档.doc
- 煤制燃料示范工作导则.docx
- 六年级语文下册课件《他们那时候多有趣啊》.pptx
- 六年级语文下册课件《表里的生物》.pptx
- 六年级语文下册课件《习作:写作品梗概》.pptx
- 六年级语文下册课件《交流平台 初试身手 习作例文》.pptx
- 第六课 掌握演绎推理方法 课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 六年级语文下册课件《藏戏》.pptx
- 6.4 现代生物技术 课件 2024-2025学年冀少版生物八年级下册.pptx
- 年终总结和工作规划写作金句50例.docx
- 对2023年山东等级考历史试卷19题若干问题的思考.pptx
- 第一课 走进思维世界课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
文档评论(0)