- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汉字点阵字模自动生成及镶边处理程序编程开发毕业论文
目 录
第一章 绪论 1
1.1 课题的综述 1
1.2 设计目标 1
第二章 准备知识 2
2.1 字体 2
2.1.1 矢量字体 2
2.1.2 点阵字体 2
2.1.3 两者的比较 2
2.2 字符编码 3
2.2.1 字符存储标准 3
2.2.2 GB2312标准 3
2.3 软件 4
2.3.1 VC++6.0 4
第三章 Windows编程与MFC基础 6
3.1 Windows编程基础 6
3.1.1 Windows API函数 6
3.1.2 窗口与句柄 6
3.1.3 事件与消息 7
3.2 MFC基础 7
3.2.1 MFC概述 7
3.2.2 MFC基础类及其层次结构 8
3.2.3 MFC中的全局函数 9
3.2.4 入口函数 9
3.2.5 MFC的消息映射 9
第四章 点阵字体的生成和显示 11
4.1 提取字体 11
4.1.1 提取系统的指定矢量字体 11
4.2 矢量到点阵的字体转换 11
4.2.1 矢量字体转换为位图 11
4.2.2 位图转换为点阵字体 12
4.3 点阵字体的屏幕显示 12
第五章 点阵字体的镶边处理 14
5.1 镶边的意义 14
5.2 镶边的方法 14
5.3 镶边的要求 14
5.4 镶边算法的设计 15
5.5 镶边的显示 16
第六章 软件编程实现 17
6.1 界面制作 17
6.1.1 界面生成 17
6.1.2 控件的设置 17
6.2 点阵字体生成显示模块制作 19
6.2.1 字体的生成 19
6.2.2 字体的显示 20
6.3 镶边模块的制作 21
6.3.1 字体的镶边 21
6.4 字库生成载入模块的制作 22
6.4.1 字库的生成 23
6.4.2 字库的载入 24
6.5 各模块的整合 24
第七章 程序的改进和不足 26
7.1 改进和完善 26
7.2 程序的不足 28
结束语 29
致 谢 30
参考文献 31
附录 32
第一章 绪论
1.1 课题的综述
如今,点阵的处理已经被用于各行各业,融入了每个人的生活。众所周知,液晶屏的信息显示其实是相关点阵的显示,比如一个动态场景、一副图像、一个文字或一个符号都是通过一系列点的排列组合来表示的。
对于这样一个频繁使用的技术,在其使用中存在很多问题。例如,在一副图像背景中显示一些文字信息。文字的颜色不变,而图像的颜色却不是一成不变的,由此导致两者的对比不明显,文字显示不清晰。本课题所要进行的是点阵字体的屏幕显示和镶边处理。其中主要的镶边处理就是通过在文字周围生成一层不同颜色的边界,从而大大提高文字的可识别度,以解决这一系列的问题。
1.2 设计目标
利用中文WINDOWS操作系统所带的矢量字库,用VISUAL C++编程实现汉字点阵字模自动生成及镶边处理。所开发的汉字点阵字模自动生成及镶边处理软件须具有下列基本功能:①能支持16*16、24*24等多种点阵字模的自动生成;②能对每个汉字点阵字模进行自动镶边显示处理。
最后以软件代码的形式生成可执行文件,通过界面选项完成对指定字体的显示和镶边处理,并将对应的字体保存成基于GB2312标准的字库文件,以便后续使用。
第二章 准备知识
2.1 字体
2.1.1 矢量字体
矢量字体中每一个字形是通过数学曲线来描述的,它包含了字形边界上的关键点,连线的导数信息等,字体的渲染引擎通过读取这些数学矢量,然后进行一定的数学运算来进行渲染。这类字体的好处是字体可以无限放大而不产生变形。而且所需存储量和字符大小无关。矢量字库有很多种,区别在于他们采用的不同数学模型来描述组成字符的线条。常见的矢量字库 Type1 和 TrueType 等。
矢量字体的显示分为两步。首先从字库中将它的字符信息读出,然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。
2.1.2 点阵字体
在点阵字库中,每个字符由一个位图表示,并把它用一个称为字符掩膜的矩阵来表示,其中的每个元素都是一位二进制数,如果该位为1表示字符的笔画经过此位,该像素置为字符颜色;如果该位为0,表示字符的笔画不经过此位,该像素置为背景颜色。点阵字符的显示分为两步:首先从字库中将它的位图检索出来,然后将检索到的位图写到帧缓冲器中。
在实际应用中,同一个字符有多种字体(如宋体、楷体等),每种字体又有多种大小型号,因此字库的存储空间十分庞大,为了减少存储空间,一般采用压缩技术。
2.1.3 两者的比较
矢量字体具有存储空间小、美观、变换方便等优点。例如:在AutoCAD中使用图形实体-形(Shape)-来定义矢量字符,其中,采用了直线和圆弧作为基本的笔画来对矢量字符进行描述。对于字符的旋转、放大、
文档评论(0)