基于MFC的图片浏览器的设计与实现-毕业论文.doc
文本预览下载声明
毕 业 设 计
论文题目 基于MFC的图片浏览器的设计与实现
摘 要
本文详细介绍了使用Visual C++ 6.0(以下简称VC6)设计图片浏览器的方法,通过对图像格式的分析,了解其算法,并根据自身的需要实现相应功能,设计出一个具有特色和个性的基于MFC的图片浏览器。本论文对图片浏览器的常用功能进行设计开发,包括对图片进行读、写、显示等功能,以及图像处理中一些常用的变换算法,如图像的放大、缩小、旋转及百叶窗、马赛克等显示特效,并将这些功能集成,在Microsoft Windows 2000/XP下测试通过,其中重点对图片浏览器的各种格式图像编码和解码进行详细研究。通过本文,可以初步掌握图形图像编程的方法与技巧。
关键词:图片 浏览器 编码解码 MFC
目 录
1 绪论 1
2 软件开发平台及编程模式 2
2.1 开发平台的选择 2
2.2 Microsoft Visual C++及编程模式简介 3
2.2.1 Visual C++可视化编程 3
2.2.2 MFC(Microsoft Foundation Classes)应用程序框架 4
2.2.3 Win32编程 5
2.2.4 消息映射 5
3 系统的设计与实现 8
3.1 需求分析 8
3.1.1功能需求 8
3.1.2 性能需求 9
3.2 总体设计 9
3.2.1 模块划分 9
3.2.2 软件界面设计 10
3.3 详细设计 11
3.3.1 软件核心数据结构LanImage类 12
3.3.2 BMP解码/编码模块 14
3.3.3 PCX解码/编码模块 15
3.3.4 TGA解码/编码模块 17
3.3.5 JPEG、GIF解码/编码模块 20
3.3.6 图像显示模块 20
3.3.7 全屏浏览模块 22
3.3.8 图像缩放模块 23
3.3.9 图像旋转模块 24
3.3.10 图像特效显示 25
4 系统的关键技术及难点 27
4.1 资源的分配和释放 27
4.2 使用JPEG和GIF读写库时缓冲区格式的转换 28
4.3 实现旋转时对内存的位操作 30
4.4 直接对内存中图像数据进行操作实现的特效 32
4.5 右键菜单的实现 33
4.6 浏览功能的实现 34
5 软件测试与改进思想 36
5.1 软件测试 36
5.2 改进思想 36
6 结 束 语 37
参 考 文 献 38
Abstract 39
致 谢 40
仲恺农业工程学院毕业论文(设计)成绩评定表 41
1 绪论
数字图像处理的英文名称是“Digital Image Processing”。通常所说的数字图像处理是指用计算机对图像信息进行的处理,因此也称为计算机图像处理(Computer Image Processing)。
数字图像及其处理技术之所以发展的如此迅速并获得广泛的应用,与其自身的优点是息息相关的。数字图像显示技术具有如下优点:
再现性好
数字图像处理与模拟图像处理的根本不同在于,它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,则数字图像处理过程始终能保持图像的再现。处理精度高按目前的技术,几乎可将一幅模拟图像数字化为任意大小的二维数组,这主要取决于图像数字化设备的能力。现代扫描仪可以把每个像素的灰度等级量化为16位甚至更高,这意味着图像的数字化精度可以达到满足任一应用需求。对计算机而言,不论数组大小,也不论每个像素的位数多少,其处理程序几乎是一样的。换言之,从原理上讲不论图像的精度有多高,处理总是能实现的,只要在处理时改变程序中的数组参数就可以了。回想一下图像的模拟处理,为了要把处理精度提高一个数量级,就要大幅度地改进处理装置,这在经济上是极不合算的。适用面宽图像可以来自多种信息源,它们可以是可见光图像,也可以是不可见的波谱图像(例如X射线图像、射线图像、超声波图像或红外图像等)。从图像反映的客观实体尺度看,可以小到电子显微镜图像,大到航空照片、遥感图像甚至天文望远镜图像。这些来自不同信息源的图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像(彩色图像也是由灰度图像组合成的,例如RGB图像由红、绿、蓝三个灰度图像组合而成),因而均可用计算机来处理。即只要针对不同的图像信息源,采取相应的图像信息采集措施,图像的数字处理方法适用于任何一种图像。MFC(Microsoft Foundation Classes)应用程序框架
应用程序框架的一种定义是:提供一般应用程序需要的全部面向对象软件组件的集成集合。
C++流行的一个原因是它可以用类库扩充。类库是可在应用程序中使用的有关C++类的集合。应用程序框架是
显示全部