1、 本 科 毕 业 论 文 TIF/TIFF 图像合成方法及其在传真编辑系统中的实现 Implemention On the Fax Editor System Based On TIF/TIFF Images Synthesis 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 校外指导老师: 校内指导老师: 年 月 摘 要 采用 Visual C+ 6.0 实现 TIF/TIFF 图像合成,主要应用于办公自动化中传真文件的图形化编辑、加注、签字盖章等。论文主要由三部分组成:第一部分描述了项目研究背景,回顾了相关研究状况,介绍图像基础知识,并确认了项目所要达到的目
2、标;第二部分详细介绍了图像编程的方法和步骤,为系统整体框架准备了具体的模块,是论文的重点章节,建立面向对象位图类库,详细分析了技术难点,位图编程结合 GDIPlus SDK 图像编程成功解决了图像格式的转换;第三部分以具体模块为基础,论述了系统 概要 设计 、详细设计 和编写了软件测试报告,文章 最后对论文做出了总结和展望。软件成功解决了传真文件的图形化编辑,采用了独特的解决方案,思路清晰,操作方便快捷,值得借鉴。 关键词 : 图像签名;图像合成; TIF/TIFF 图像格式。 Abstract Using Visual C + + 6.0 implements TIF / TIFF imag
3、e synthesis, mainly used in office automation for the fax file graphical edited, endorsed, signed ,sealed and so on. The thesis is mainly composed of three parts. The first part describes the research background of the project, review the status of related research, introduce basic knowledge of imag
4、e and confirm the goals of the project. The second part of a detailed introduction of the image programming method and steps prepare an overall framework for system specific modules, are the focus of thesis chapters, set up a bitmap object-oriented class library, a detailed analysis of technical pro
5、blems, combined with bitmap GDIPlus SDK graphics programming successfully resolved image format conversion. The third parts to a specific module for the foundation, discusses the summary of design , detailed design and the preparation of a software test reports, the end of the paper made a summary a
6、nd outlook. The software successfully resolved fax graphical editing, the use of a unique solution, clearly, easily to operate faster, is worth learning from. Key Words: Image Signature; Image Synthesis; TIF/TIFF Image Format. 目 录 第 1 章 引言 . 1 1.1. 研究背景 . 1 1.2. 研究目标 . 1 1.3. 研究现状 . 2 1.3.1. EastFax
7、 智能传真软件 . 2 1.3.2. CxImage 类库 . 2 1.4. 相关知识介绍 . 3 1.4.1. TIF/TIFF 格式图像文件介绍 . 3 1.4.2. BMP/DIB/DDB 位图的介绍 . 5 1.5. 本文的主要研究工作 . 5 1.6. 本文结构 . 5 第 2 章 位图编程 . 7 2.1. 面向对象的位图编程 . 7 2.1.1. 定义 DIB 处理函数集 . 7 2.1.2. 定义 CDIB 类 . 9 2.1.3. 图像缩放功能 . 10 2.1.4. 图像旋转功能 . 11 2.1.5. 图像合成功能 . 12 2.1.6. 图像签名功能 . 16 2.2.
8、 GDIPlus SDK 图像编程 . 18 2.2.1. GDIPlus SDK 介绍 . 18 2.2.2. TIFF 格式图像转换为 BMP 位图 . 19 2.2.3. BMP 位图转换为 TIFF 格式图像 . 19 第 3 章 传真编辑系统的概要设计与详细设计 . 20 3.1. 概要设计 . 20 3.1.1. 系统说明 . 20 3.1.2. 模块说明 . 21 3.1.3. 界面约定 . 22 3.2. 详细设计 . 23 3.2.1. 类 TIFFToBMP 模块 . 23 3.2.2. 类 BMPToTIFF 模块 . 23 3.2.3. 类 CDIB 模块 . 24 3
9、.2.4. BMP 图像变换模块与 BMP 图像签名、图像合成模块 . 24 3.2.5. ViewDIB 模块 . 24 3.2.6. 图像界面模块 . 25 第 4 章 传真编辑系统的测试 . 26 4.1. 单元测试 . 26 4.2. 集成测试 . 26 4.3. 系统测试 . 27 第 5 章 总结与展望 . 28 5.1. 总结 . 28 5.2. 展望 . 28 致 谢 参考文献 Contents Chapter 1 Introduction . 1 1.1. Research Background . 1 1.2. Research Objecive . 1 1.3. The
10、Related Items . 2 1.3.1. EastFax Intelligent Fax Software . 2 1.3.2. CxImage Class Library . 2 1.4. The Related Knowledge Introduction . 3 1.4.1. TIF/TIFF Image File Introduction . 3 1.4.2. BMP/DIB/DDB Bitmap Introduction . 5 1.5. Primary Coverage . 5 1.6. Structure . 5 Chapter 2 DIB Programming . 7
11、 2.1. Bitmap Object-Oriented Programming . 7 2.1.1. The Definition Of DIB API. 7 2.1.2. The Definition Of CDIB Class . 9 2.1.3. Image Zooming . 10 2.1.4. Image Rotating . 11 2.1.5. Image Synthesis Process . 12 2.1.6. Image Signture Process . 16 2.2. GDIPlus SDK Graphics Programming . 18 2.2.1. GDIPl
12、us SDK Introduction . 18 2.2.2. TIFF Image File Converted To BMP Image File . 19 2.2.3. BMP Image File Converted To TIFF Image File . 19 Chapter 3 FaxEditor System Preliminary And Detailed Design . 20 3.1. Preliminary Design . 20 3.1.1. System Introduction . 20 3.1.2. Module Introduction . 21 3.1.3.
13、 Interface Agreement . 22 3.2. Detailed Design . 23 3.2.1. TIFFToBMP Module . 23 3.2.2. BMPToTIFF Module . 23 3.2.3. CDIB Module. 24 3.2.4. BMP Changing 、 BMP Signture And Synthesis . 24 3.2.5. ViewDIB Module . 24 3.2.6. UI Module . 25 Chapter 4 FaxEditor System Testing. 26 4.1. Unit Testing . 26 4.
14、2. Integration Testing. 26 4.3. System Testing. 27 Chapter 5 Summary And Prospect. 28 5.1. Summary . 28 5.2. Prospect . 28 Acknowledgments References 第 1 章 引言 1 第 1 章 引言 1.1. 研究背景 IP PBX 基于 IP 的电话交换机系统实现计算机网与电话交换机的功能合一,将会在二十一世纪的通信业中起着重要的作用。 IP PBX 网络系统内各电话终端采用 IP 方式进行数据通信,不仅能进行通话,还能实现文本、数据、图像的传输,将电话
15、网和计算机网统一成一个整体,实现局域网内的电子办公。 本论文课题为“ TIF/TIFF 图像合成方法及其在传真编辑系统中的实现 ”。传真在传输图像之前要先把图像转化为 TIF./TIFF 格式化。 TIF/TIFF 是可拓展标签的图像格式,多用于扫描图像文件格式,在 IP PBX 中是作 为邮件传真的图像格式进行传输的。由于 TIF/TIFF 格式的图像文件索引图像数据部分,是根据图像文件目录( Image File Directory 简称 IFD)中的目录入口( Directory Entry 简称DE)来确定,其中目录入口中的标签( Tag)是可拓展的,并且一个图像文件可以存储多帧,这就
16、说明没有统一的图像格式标准,因而在进行程序设计之前确定一种符合传真传输图像的格式显得异常重要。厦门亿群软件技术有限公司开发的 BizFax 软件产品中已经指定了一种 TIF/TIFF 图像传真格式标准,笔者的毕业设计根据该标准 进行程序开发。 1.2. 研究目标 采用 Visual C+ 6.0 实现 TIF/TIFF 图像合成,主要应用于办公自动化中传真文件的图形化编辑、加注、签字盖章等。其中包括 TIF/TIFF 文件的读取、转换和存储,图像读取后能支持预览显示、放大、缩小,合成处理后最终保存为指定的 TIF/TIFF 格式;还包括图像合成算法的实现,支持文字、图片合成。具体功能列举如下。
17、 (1) TIF/TIFF 文件的读取。读取的文件来源是已经经过特殊处理的 TIF/TIFF文件(公司虚拟打印机处理过的图像文件)。 (2) 支持图像转换。图像转换是指 TIF/TIFF 转换为 BMP 格式位图,建立在位图基础上的图像显示、放大、缩小、旋转、签字和合成处理后,最终把 BMP格式位图转换成指定的 TIF/TIFF 格式图像。 (3) 支持多帧图像。支持多帧图像的打开和存储功能。 TIF/TIFF 图像合成方法及其在传真编辑系统中的实现 2 (4) 实现图像合成。其中包括图像指定位置插入文字(鼠标指定位置),图像之间的合成。合成是透明合成,不是图像覆盖。图像合成依赖于图像合成算法
18、。 1.3. 研究现状 1.3.1. EastFax 智能传真软件 国产软件在世界的又一奇迹,目前公认最优秀的传真软件,功能强大,操作简单,界面精美!全面开放语音提示、手动接收等功能。 EastFax 由 Forwave复园科技开发,它带来全新的传真理念,无需改变原有的传真线路,只需一套EastFax 智能传真服务器( MODEM 或传真卡),公司里所有的员工都可以在自己的电脑前收发传真,每个人都有一个传真分机号,接收的传真直接分发到个人电脑,既可以编辑、加印章签名,也可自由地转发给其他人;所有能打印的文档都可以发送,智能排队,批量群发!强大的传真分类管理、检索功能,几秒钟就能找出几年前的某份
19、传真!传真与邮件、短信的结合,随时随地都可以收发传真,还可以实现与分支机构、老客户的免费传真!不同的版本适用于各类大、中、小型企业。 1.3.2. CxImage 类库 CxImage 是一个开源的 C+类库,它能打开,存储和显示 各种格式 图像,支持 TIF/TIFF、 JPEG、 PNG、 BMP 等格式的图像文件。基于 CxImage 开发的DEMO 程序类似 Photoshop 软件,功能强大,处理图像签名、合成及其完美。图 1-1 列出 CxImage 类库的继承机制。 图 1-1 CxImage 组织结构 第 1 章 引言 3 1.4. 相关知识介绍 1.4.1. TIF/TIFF
20、 格式图像文件介绍 TIF/TIFF 图像由四部分组成: (1) 图像文件头( Image File Header 简称 IFH)。如图 1-2 所示, IFH 数据 结构包含 3 个成员共计 8 个字节, Byte order 成员可能是“ MM” (0x4d4d)或“ II”(0x4949),“ 0x4d4d”表示该 TIFF 图是摩托罗拉整数格式“ 0x4949”表示该图是 Intel整数格式; Version 成员总是包含十进制“ 42(0x2a)”,它用于进一步校验该文件是否为 TIF 格式,“ 42”这个数并不是一般人想象中的那样认为是 TIF软件的版本,实际上,“ 42”这个数大
21、概永远不会变化;第三个成员是 IFD(接下来要说的第二个数据结构)相对文件开始处的偏移量。 图 1-2 图像文件头描述 (2) 图像文件目录( Image File Directory 简称 IFD)。如图 1-3 所示, IFD 是TIF 图中最重要的数据结构,它包含了一个 TIF 文件中最重要的信息,一个 TIF图可能有多个 IFD,这说明文件中有多个图像,每个 IFD 标识 1 个图像的基本属性。 IFD 结构中包含了三类成员, Directory Entry Count 指出该结构里面有多少个目录入口;接下来就是 N 个线性排列的 DE 序列,数量不定(这就是为什么称 TIF 格式文件为可扩充标记的文件,甚至用户可以添加自定义的标记属