1、基于VC+的图片浏览器的设计与实现 学 号 10031XXXX X大学学士学位论文基于VC+的图片浏览器的设计与实现院(系)名 称:软件学院专 业 名 称:软件工程学 生 姓 名:XXX指 导 教 师:XX教授XX大学 2014年 6月目 录摘 要IIAbstractIII前 言1第一章 绪 论21.1 项目背景和意义21.2 实现目标21.3 设计思想31.4可行性分析31.4.1技术可行分析31.4.2经济可行性分析4第二章 需求分析52.1 任务概述52.1.1 目标52.1.2 用户的特点52.1.3 运行环境52.1.4条件与约束62.2 系统整体描述62.3系统功能说明62.3.1
2、用户浏览功能说明62.3.2图片旋转功能说明82.3.3图片特效功能说明92.4性能与安全需求10第三章 系统概要设计113.1系统体系结构113.2.1系统功能模块图123.2.2 系统功能模块设计123.2.3 体统模块关系图133.2.4系统模块功能关系表143.3开发环境与运行环境设计143.3.1 开发环境14第四章 系统详细设计与实现164.1 浏览功能详细设计164.2 特效详细设计184.3. 3 缩放详细设计194.3. 3 旋转功能详细设计21第五章 软件测试与改进思想235.1 软件测试235.1.1测试方法235.2测试用例235.2.1图片浏览测试用例235.2.2缩
3、放及旋转测试用例255.2.3特效测试用例285.3 改进思想33结 论34参考文献35致 谢36摘 要在我们的使用环境中,目前市场上大多是采用ACDSee等的图片浏览器,但是此类的图片的浏览器在图片的格式支持等多方面,有一定的问题。在本文中给大家介绍了多个工能实现的图片浏览器的应用状况和将来的发展的前景。在此我将介绍一下软件的功能与用途,VC+的图片浏览器是,用MFC框架来实现的,这个程序用图像分析的原理和微软的MFC类库进行开发完成的,他的功能当然主要是满足人们对图片的操作与需求,包括查看、旋转效果、放大变小效果、百叶窗、取反色、灰度图等等的功能和特效。程序的设计就是为了满足人们的不断变化
4、的需求,图片处理技术的进步,也能大大的推动其他相关行业的发展,对我们生活的各个方面都带来了不尽的便利,使我们的生活变得多姿多彩。整个程序在开发构成中运用了C+和其他高级语言共有的,面向对象的开发技术,这样是程序比较容易扩大和维护。关键词:图片; MFC;浏览器基于VC+的图片浏览器的设计与实现AbstractIn ourenvironment,currently on the marketare mostlyuse ACDSee picture browser,butthis kind ofpicture browser in thephotoformatsupport and other a
5、spects, there aresome problems.For allapplicationdescribes multipleindustrycan realize thephoto browserand future developmentinthefuture.In this paper,the main function isused,introduces the development of MFCVC+ picture browserand implementationprocess based on.The softwareuses the basicprinciple o
6、fimageand the MFC class library developmentand complete,forthe realization of the basic imagebrowsing and as thesimple changes,including the view, rotate, zoom smaller effect, shutters, to color, grayscale and so on functions and effects, echnology, can greatly promote the development of other relat
7、ed industries. Of all the aspects of our life doudaila. The program is designed to meet the changing needs of people, the picture processing .Use of the whole processof object-oriented developmenttechni quesin the development process,is easy toextend and maintain.Its design,development,implementatio
8、n provides an intuitive,convenient integratedenvironment for researchand development ofgraphics software, provides arelativelygood platform for thelarge-scale development ofimagesystem in the future.Keywords:Image; MFC; browser基于VC+的图片浏览器的设计与实现前 言人类的发展和科技的发展有着密不可分的关系,图片的发展、处理和使用,在现实的生活中有着无法替代的位置,它的存
9、在给我们的生活带来了非常多的便利,但是如何浏览和对图片进行操作呢,往往需要使用相应的软件来完成,那么最为常见的恐怕就是Matlab。可能大家都知道这一类的软件,有着独特的优点,功能强大且丰富等特点,但是世界上没有完美的东西,他也有着一些不足的地方。以Matlab为例,该软件几乎具备了各种数据的类型,甚至数据模型的分析处理能力等;但是良好的功能和丰富的内容,也是不能够完成所有的用户需求,所以我们就需要一些专门的软件程序去实现。人们日新月异的要求,需要专门的软件来完成对图片的不同的操作和功能的完善。单独的开发图片浏览器的必要性就显得十分明显。那么采用什么样的方式和方法,来开发一个人们能够满足人们不
10、断变化的需求的软件呢?这里我采用C+语言来完成和实现,这始终面向对象设计的高级语言,执行快、高效、能扩展、便于维护等特点是这语言的都点所在。当然一个完整的函数库也能对我带来很大的帮助,MFC的出现是整个实现的过程,变得简化不至于像之前那样的十分的繁琐,他十分充分的利用了面向对象的特点,还有简易的操作、独特的窗口框架和简单的插件拖拽,大大的减少了程序员的工作量,提高了工作效率。1第一章 绪 论第一章 绪 论1.1 项目背景和意义随着社会的发展科技的不断的进步,现在的图片处理的技术也已经达到了一个全新的高度,它使信息变得形象、生动、栩栩如生,不再是生硬的文字描述。我们生活的社会不论古代和是现代,图
11、像的使用已经渗透到了,几乎每一个角落如,天文地理、医药化工、医学等等。图片的发展可以说是影响了我们每一个人的点点滴滴,可以随意的记录我们的美好瞬间,使我们的每次回忆的完整片段。还可以对我们的工作变得方便,不需要所有的地方都用枯燥的文字来描述,变得易懂简便,使我们的生活更加的丰富多彩。但是目前我们所使用的图片软件的软件,大都是功能简单,显示效果单一,不能够给我们提供很好的使用快感和多功能高效果的体验。因此一个好的片浏览软件也成为人们生活中不可少的一部分,一个个美丽丰富的图片都可以通过他呈现在我们的眼前,让我们回忆每一个美好瞬间的同时,也体验了科技的发展所带来的便利,体验到我们软件行业的发展所带来
12、的便利成果。这也是设计这款软件的最终目的。1.2 实现目标 介于现在市面上所流通使用的图片浏览软件的功能简单,使用不能够满足使用者的要求等问题,设计了这款软件,该软件是一款独立的应用软件,可以运行在Windows系统下用于查看本地文件夹中的图片文件,播放本地文件夹中的图片文件。设计成一款方便用户使用,具有播放图片、变换图片大小、自动旋转图片、取反色图片、灰度图、马赛克效果等功能,以及查看图片的路径,令人舒适,符合用户需要的友好型界面。我设计了这个课题,那就是我想把我所有的学习的知识,运用到实践中,不要荒废了自己所学习的C+语言和知识。实现这个愿望的关建就是,使用现有的知识,完成一个从没有完成的
13、东西,并且还要使用了自己所学过和没有接触到的知识。我对我编写的软件有一个终极的目标,就是不但能够浏览图片的不同的格式,如BMP格式、PCX格式、TGA格式、JPEG格式、GIF格式等等,这几种图像格式可以说是囊括了,到多数的图片的格式。还能够实现其他图片浏览软件所不能够完成的功能,例如,把图片的是格式取成反色,还能够灰度的显示图片,在用户使用时还能够实现,锐化、平滑的效果显示等等。这个软件能够完成对图片的载入、显示等等功能,还有就是在显示图片时使用不同的效果查看,如最基本的是图片的大小改变、是图片旋转不同的方向、百叶窗效果、马赛克效果等。1.3 设计思想实现软件的开发主要实现以下的几个步骤:1
14、. 软件的整体的设计与规划。软件的设计的文档的编写如,需求分析、概要设计、详细设计等等。2. 软件的界面和代码的着手编写。3. 软件的测试和测试用例的编写,及程序BUG的调试改进等。在第一部分的设计和规划时候,主要是对软件的信息的采集和程序的实现的日程,及实现的要求做一个大体的规划。而在第二部分的文档编写部分中,主要是实现对软件的设计的主要功能,及相应的模块、使用的函数、平台等等相关的内容进行规划和设计,一遍顺利的完成软件的设计和实现。在第三部分的内容中,界面的部分是对整个软件的脸面进行设计,这个部分的内容使用的是MFC的应用程序对软件的界面进行设计和实现的,其中囊括了整个软件所使用的功能按键
15、。在代码的部分是使用了VC+的程序设计思想完成对代码的编写,来完成软件的实现,这个部分包括了软件的设计中使用的函数,设计到了系统消息的响应等等。在第四部分的内容中,主要是对软件完成后的实现的功能等进行测试,调试软件的存在的BUG等等,这一部分也是软件最后的阶段,也是能够对软件的品质及正常的功能的实现的保证。1.4可行性分析1.4.1技术可行分析本软件主要是使用VC+语言和MFC的类库的内容,来完成对软件的每个功能的实现。本软件采用的框架的优点在于,使用MFC大大的方便了对整个软件的功能的实现,大大的简化了完成软件的工作量。1.4.2经济可行性分析本软件的制作完全是由vs2010的平台编写完成的
16、,并且使用没费的FMC的类库对软件进行编写和完成的,所以在开发平台和工具上的成本很小,本软件的管理和维护的工作也是比较的简单,但是本软件的功能强大的功能,如果放大了市场上前景一定很好,所以本软件可以说的投入小,收益高的产品,35第二章 需求分析第二章 需求分析2.1 任务概述2.1.1 目标本软件的主要实现的功能包括:图片的浏览、播放、旋转、缩放、百叶窗播放、马赛克、取反色效果、灰度图效果等功能。来实现现代人对图片的不同需求,体现出软件的可用性强、使用面广、用途多来满足不同人的不同要求,来实现一个操作简单,功能强大的图片浏览器。本设计将要实现的是一个单机图片浏览软件,从其目标功能及特点分析,将
17、本软件功能划分如下:能够轻松的代开BMP格式、PCX格式、TGA格式、JPEG格式及GIF格式图片等。在查看一幅图像时,放大1.0-2.0倍之间的任意倍数、缩小0.1-0.9之间的任意倍数;还可以把图片显示在软件中间的位置;并随时的还原成原图片的大小显示。在对软件进行操作时,选择不同的按钮对图像进行水平和竖直的旋转,还可以在0-360度之间的任意度数旋转,还可以让图片在自动的旋转和随时的停止。用户对软件进行使用时,Windows自带的绘图工具进行相关的编辑和修改。该软件还提供了,对图片的上一张图、下一张图、自动播放等功能,就是再点击上一图或下一图时,选择浏览图片的,并且在操作界面的下角会显示图
18、片自动旋转的时间,或是百叶窗播放的时间。图片的浏览查看时,用户可以自己选择使用查看使用“百叶窗”、“马赛克”等效果。用户还可以在选择图片的时候,显示图片的路径在操作的界面上。用户浏览图片是,在软件的标题栏出显示图片的名称及相关的信息,标题栏显示当前打开的图片的文件名。2.1.2 用户的特点本软件的设计基于简单、易操作目标,所以使用的用户可以适用于各类人群。2.1.3 运行环境(1)硬件平台要求 本软件是一个单机类型的软件,并不涉及网络,所以也不需要对很多的数据的进行读写等交换,所以对环境的要求并不高,所以只要是在Windows的操作系统的硬件上运行,都能够使用本软件。提示:由于软件涉及到了对图
19、片的特效显示,所以对也包含了大量的数据的运算,所以对CPU的也是有一定的要求的,最好CPU的型号是PIII 800MHz以上。 (2)软件环境要求软件可以在 Windows 7、WindowsXP等。2.1.4条件与约束本软件的目前使用vs2010,使用C+和MFC的类库完成的,在使用技术上由于目前的能力和接触面的限制,有一些功能还没办法实现。还有就是在限定的时间内完成比较完善的功能是可以的,但是在现有的基础上,在添加上一些比较考验技术知识和比较困难的算法来实现的话,时间上比较的劲,目前也还不具备这样的能力。2.2 系统整体描述本系统采用VC+完成图片浏览器的设计,整个系统分为用户界面,图片浏
20、览和特效浏览三部分。用户界面主要使用MFC提供图片浏览的用户交互界面;在对图片进行查看时功能有,自动旋转、竖直和水平旋转、自定义倍数放大、自定义倍数缩小、自动百叶窗效果、马赛克、取反色浏览、灰度图等控制;在对软件的模块设计的时候,对不同图形处理方式采用不同的处理方法的。要考虑与各个模块的兼容情况。2.3系统功能说明2.3.1用户浏览功能说明1需求描述当用户登陆到操作界面后,首先是选择图片所在的位置然后在添加图片,然后显示图片的内容,可通过软件上的“上一张”和“下一张”图的按键对图片进行控制,进行浏览图片的上一张和下一张图片。2用例图图2.1 用户浏览操作用例图3用例文档(1)用例编号 UC1:
21、用户浏览操作(2)用例描述 使用的用户浏览图片(3)参与者 操作用户(首要) (4)前置条件 运行软件(5)后置条件 选择要浏览的图片(6)基本路径 用户运行软件用户打开要浏览的图片用户点击响应的按键后台函数响应显示图片(7)补充说明用户在使用软件是要把图片的名字改成如,001、002等,应为系统在获取图片的下一个和上一个图片的路径时是按照自加和自减的方式查找并获取图片的。2.3.2图片旋转功能说明1需求描述当用户使用软件时,可以对图片进行浏览上一张或是上一张,还可以对图片进行旋转控制来完成,对图片的查看功能。2用例图图2.2 用户旋转操作用例图3用例文档1)用例编号 UC2:用户对图片旋转操
22、作(2)用例描述 使用的用户浏览图片特效(3)参与者 操作用户(首要) (4)前置条件 运行软件(5)后置条件 选择要浏览的图片(6)基本路径 用户运行软件用户打开要浏览的图片用户点击对应的旋转按键响应后台函数响应显示图片2.3.3图片特效功能说明1需求描述在用户使用软件的时候,可对图片进行特效浏览的方式进行查看,包括对图片的百叶窗浏览、马赛克效果、取反色、灰度、锐化、平滑、X错切、Y错切特效等。2用例图图2.3 用户特效用例图3用例文档(1)用例编号 UC3:用户对图片的特效操作(2)用例描述 使用的用户浏览图片特效(3)参与者 操作用户(首要) (4)前置条件 运行软件(5)后置条件 选择
23、要浏览的图片(6)基本路径 用户运行软件用户打开要浏览的图片用户点击特效的按键响应后台函数响应显示图片2.4性能与安全需求1响应时间要求在使用过程中的系统响应时间不得小于0.1秒。2数据的转换和传输时间要求在软件的运行时候,在数据的传输及消息相应的过程中,时间都不得超过0.1秒。3运行时间要求在使用软件的流程中总体的,显示及各个功能实现响应时间不得超0.5秒。第三章 系统概要设计 第三章 系统概要设计3.1系统体系结构在对软件的需求和开发的环境进行了充分的调研后,制定出了对软件的总体设计的总体规划纲要,这个对任何的软件的完成都是必要的,也是对日后的工作的顺利的完成的前提条件和基础。系统的设计包
24、括,各个模块的设计,软件的界面的设计。整个图片浏览器主要有两部分构成分别是前台控制和后台控制。 前台控制:主要是用户能看见的界面及其功能点,前台控制主要由用户添加图片、播放图片、对图片的浏览方式进行选择和查看,包括其中的按键的使用,包括对特效按键的选择和自定义的选择特定的规格的使用效果。在这个部分的功能的实现主要是依靠MFC提供的插件来完成的,包括界面的设计和实现,每个按键都涉及到相关函数的调用,来顺利的实现功能,在这个部分可以使用不同的选项来完成用户对图片选项浏览模式的要求。后台控制:在这个部分的功能中是最主要的,在这里涉及到了所有的函数的代码,对整个程序而言,前台的如果是人的外表,那么在这
25、个部分就是人的头脑,所有的功能效果的实现,都是依靠这个部分完成的,这里包括所有的核心的代码和按键的函数的响应,包括对系统的内容的功能的调用等等。系统的体系框架图:图3.1 系统体系架构图3.2系统模块设计3.2.1系统功能模块图图3.2 系统功能模块图3.2.2 系统功能模块设计整个软件的基本可以划分为以下的几个功能模块,分别是图片浏览模块、旋转模块、特效模块。这些的功能全部是由MFC设计的界面和按键,来完成在软件界面部分的设计和实现,在MFC的类库中,有较为完善的控件提供选择。在软件的功能的实现模块的代码部分,使用的VC+的代码完成,在完成代码的部分设计到系统的函数和消息的响应。在浏览模块上
26、,用户可通过上一张、下一张的按键来完成对图片的浏览目的,而在旋转模块内,用户可选择水平旋转来控制正在浏览的图片,图片就会在水平的选装的显示在软件的界面上。还有竖直旋转模块,和自定义的旋转,自定义角度的旋转。在旋转模块中,这里提供了水平旋转、竖直旋转、自己选择角度旋转三种方式来完成对图片的控制。缩放效果,在这个模块里,你可以选择一个倍数来放大或是缩小图片。特效效果显示,在这个模块中,用户可在浏览图片的过程中,选择某个图片来显示马赛克效果显示、百叶窗效果播放、取反色、灰度、锐化、平滑、X轴错切和Y轴错切等。在马赛克里,用户可在选择浏览的图片使用马赛克效果来显示出来。取反色里,在这里,你可以在把图片
27、的颜色显示成相反的颜色来浏览。在灰度这个功能里,会显示出灰色的图片来显示出来等。3.2.3 体统模块关系图图3.3 系统模块关系图3.2.4系统模块功能关系表表3.1 系统模块功能关系表序号模块功能点功能点详细内容1图片浏览浏览图片的上一张和下一张当用户使用软件时,点击软件下一张可以实现图片的下一张浏览,实现图片的浏览播放。2旋转模块控制图片的旋转功能在这个模块中,用户可使用其中的“旋转”按键,在器右侧可选择旋转的角度。在这个模块中用可选择水平旋转和竖直旋转模块进行操作,可以把图片进行对应的选择显示。3缩放模块实现图片的放大缩小在这里实现对图片的放大和缩小显示的效果来控制图片,在右边可选择图片
28、的缩放的倍数的选择进行显示。4特效模块实现图片的取反色显示此功能可实现图片的相反颜色的显示功能。实现图片的灰度显示实现图片的灰度颜色的显示。实现图片的马赛克显示把图片实现自动的马赛克效果的播放。实现平滑效果来显示实现图片的平滑效果的显示。实现图片的锐化显示可实现图片的锐化效果显示。实现图片的自动百叶窗显示实现图片的自动的百叶窗播放效果显示。3.3开发环境与运行环境设计3.3.1 开发环境1开发环境操作系统可在WindowsXP或是更高的版本的系统,也可在Linux的系统等。2程序的开发环境使用VS2010。3界面的设计工具使用MFC的应用程序框架。4用户机操作系统和硬件要求WindowsXP或
29、更高的操作系统,内存至少256M,CUP应为PIII 800MHz以上的型号。第四章 系统详细设计与实现第四章 系统详细设计与实现4.1 浏览功能详细设计1功能描述用户在使用软件时候,需要选择想要浏览的图片,并在软件的操作界面上进行对按键,上一张或是下一张进行操作时,显示出上一张图片或是下一张图片。2操作内容点击“上一张”、“下一张”。3输出内容在用户点击上一张或是下一张按钮时,会显示出上一张图片或是下一张图片来,当时第一张图时就不会在使用“上一张”是用反应,但是最后一张图片是在使用“下一张”按键是,就不会有响应了。4算法描述但用户使用上一张按钮是使用void CExtendedBitmapD
30、lg:OnBnClickedButton1()来获取上一张图片的。下一张按钮时,系统会调用后台的函数void CExtendedBitmapDlg:OnBnClickedNext()来响应,首先是判断是否处于自动百叶窗或是自动旋转的效果中,然后获取当前的图片的位置,根据当前的路径生成,下一张图片的文件的名称或是上一张图的文件名称,在通过显示图片的函数void CExtendedBitmapDlg:OnBrowse()来显示图片。5下一张的函数关系图图4.1 下一张函数关系图6上一张的函数关系图图4.2 上一张函数关系图7.播放流程图图4.3 播放流程图4.2 特效详细设计1.功能描述在用户使用
31、软件的时候可以,选择基本的浏览功能以外的特效来浏览图片,这就会使你有一个不一样的体验和感受。操作者可以在使用软件的一下的特效来操作图片,如灰度图、取反色图、马赛克效果图、X轴错切图、Y轴错切图、平滑和锐化图等等。在这部分的选项中,你还可以在图片的特效中选择不同的尺度进行设置和浏览,如在X周轴的错切和Y轴的错切时可以选择,错切时的度数进行错切。在选择使用平滑和锐化等效果时候也是一样的,同样的也可以选择响应的角度进行平滑和锐化的操作等。2.操作内容用户可选择点击“灰度”按钮、“取反”按钮、“马赛克”按钮、“X错切”和右边的尺度选项中进行选择,“Y错切”和右边的尺度选择中进行选择,“平滑”按钮和“锐
32、化”按钮,及他们右边的尺度选择中进行选择。3.输出内容当用户选择了自己想用使用的浏览效果进行浏览时,可以看到所浏览的图片在软件的界面中,显示出对应的效果来。在点击“灰度”时,图片会以灰色的图片来显示出来,当点击“取反”时,图片会显示出相反颜色的图片来显示在软件的操作界面上。当用户使用了马赛克效果时,用户可以看到图片变得模糊,显示出马赛克的效果来。当用户使用X错切或是Y错切时,用户会显示出对应的X或Y的对应角度的倾斜。当点击平滑和锐化时,界面上回对应的显示出平滑和锐化的效果图。4. 特效流程图5.图4.4 特效流程图4.3. 3 缩放详细设计1.功能描述在用户使用软件的时候可选择对图片的缩放控制
33、,控制图片的放大和缩小控制,当点击放大或是缩小按键的时候,并选择右边响应的倍数选项时候,就会显示出图片在软件响应的倍数的图片来。2.操作内容点击“放大”或是“缩小”及选择右边相应的倍数。3.输出内容在软件的显示区显示出图片的相应倍数的放大或是缩小的图片来。4.算法描述对图片的放大和缩小操作来说,主要是涉及到一下的函数之间的调用关系。(1) BOOL CImageResizer:ProcessPixels()这个函数的主要作用是对软件上面的对图片放大或缩小倍数的数据进行采集。(2) BOOL CImageResizer:Enlarge()这函数主要是针对图片的放大操作进行控制的。(3) BOOL
34、 CImageResizer:Shrink()这个函数是实现图片的缩小的操作。5.放大函数关系图图4.5 放大函数关系图6.缩小函数关系图图4.6 缩小函数关系图7.缩放流程图图4.7 缩放流程图4.3. 3 旋转功能详细设计1.功能描述软对图片的旋转功能部分,主要使用于使用者对图片的旋转操作,在这部分的内容中,有自定义角度旋转、水平旋转、竖直旋转和自动旋转组成的。在自定义旋转部分,用户可通过选择“旋转”按键右边的下拉框中的旋转角度来完成操作。在水平旋转、竖直旋转和自动旋转的部分,用户只需点击按键即可完成。2.操作内容点击按键“旋转”及选择右边下拉框中的内容,点击“水平旋转”或“竖直旋转”。3
35、.输出内容用户会看到图片会根据所进行的操作进行旋转。4.算法描述在这个功能里,使用了CImageFlipper:CImageFlipper()对图片的做水平和竖直的旋转。函数通过界面的判断是水平或是竖直的旋转来完成,消息的传递在通过CImageFlipper:CImageFlipper()对图片做旋转处理的。而在自定义的旋转模块中,通过CImageRotator:ProcessPixels()获取响应的信息,判断按键选项,使用CImageRotator:CImageRotator()对图片进行自定义角度的旋转,在通过CSize CImageRotator:CalcDestSize()对旋转后的
36、图片的大小进行控制,在通过显示函数进行显示。5.旋转函数关系图图4.8 旋转函数关系图6.缩放流程图图4.9 旋转流程图第五章 软件测试与改进思想第五章 软件测试与改进思想对于一个完整的软件来说,不仅要对软件的整体的设计、代码的编写上进行做的完整,还要对软件的后续工作,做到完善,软件的测试就显得必不可少,这对一个完整的软件来说是必不可少的。5.1 软件测试5.1.1测试方法在这里使用黑盒子和白盒子结合的方法来对软件进行测试,使用黑盒子的测试主要是检查软件的界面使用时,是否会发生错误,包括图片的显示、上一个按钮、下一个按钮、旋转等按钮、百叶窗按钮等等的是实现是否正常。使用白盒子的测试,主要用于对
37、软件的使用时的内存是否泄漏、释放和各个功能在实现过程中的一些BUG进行测试盒解决。5.2测试用例5.2.1图片浏览测试用例1.测试方案用户使用软件时,首先要选择图片所在的路径,并选择所要浏览的图片内容,且图片的名字要以如001、002、899等数字,因为软件最多能够浏览1000幅连续的图片,所以采用这种命名方式。2.测试用例表5.1 用户浏览测试用例编号相关操作预期结果实际结果结果分析1点击“浏览”,选择图片名称为001正常显示001的图片与预期结果相同2点击“下一张”显示名为002图与预期结果相同3点击“上一张”显示名为001图与预期结果相同4点击“浏览”,选择图片名称“abc”的图片显示名
38、称为abc的图片与预期结果相同5点击“下一张”不显示abc的图片于预期结果相同图的名称不符命名规则6点击“上一张”显示名为abc的图与预期结果相同图的名称不符命名规则3.测试效果图图5.1 测试结果图2图5.2 测试结果图25.2.2缩放及旋转测试用例1.测试方案在这里的测试主要涉及到以下的几个按键,如放大、缩小、旋转和自旋,水平旋转和竖直旋转这几个按键。在使用放大和缩小时候,用户可在对应的右边下拉框中旋转对应的倍数进行缩放操作。2.缩放及旋转测试用例表5.2缩放及旋转测试用例编号相关操作预期结果实际结果结果分析1点击“放大”及右边对应的1.5倍数图片按照对应的倍数进行放大与预期结果相同2点击
39、“缩小”及右边的0.5倍图片按照对应倍数缩小与预期结果相同3点击“水平旋转”图片会水平旋转显示与预期结果相同4点击“竖直旋转”图片会竖直旋转显示与预期结果相同 5点击“旋转”并设置右侧度数为30图片将旋转30与预期结果相同6点击“自旋”按键图片将会自动的选择与预期结果相同3.测试效果图图5.3 测试放大结果图图5.4 测试缩小结果图图5.5 测试水平翻转图图5.6 测试竖直翻转图图5.7 测试旋转30结果图图5.8 测试自旋结果图5.2.3特效测试用例1.测试方案操作和使用软件时,可使用灰度图、马赛克、取反、平滑、锐化、百叶窗、XY错切等功能并观察对应的效果。2.特效测试用例表5.3特效测试用
40、例编号相关操作预期结果实际结果结果分析1点击“灰度图”选项对应的图片变成灰色图与预期结果相同2点击“马赛克”选项图片添加上了马赛克效果与预期结果相同3点击“取反”选项图片会显示相反的颜色显示与预期结果相同4点击“X错切”并对右边,选项错切度数图片会对应度数错切显示与预期结果相同5点击“Y错切”并对右边,选择错切度数图片对应的度数错切显示与预期结果相同6点击“平滑”按钮图片会对应的平滑显示与预期结果相同7点击“锐化”按钮图片会对应的锐化显示与预期结果相同3.测试效果图图5.9 测试灰度图结果图图5.10 测试马赛克结果图图5.11 测试取反色结果图图5.12 测试X错切200结果图图5.13 测
41、试Y错切200结果图图5.14 测试百叶窗结果图图5.15 测试锐化度5结果图图5.16 测试锐化度5结果图5.3 改进思想目前基本的需求分析的功能多已经能够实现了,并且按照预期的目标生成了一个完整实用的图像浏览软件。(1)还有一些如扫描的功能还有没实现。(2)在实现马赛克时的功能没有做的十分的完善。(3)在百叶窗显示的时候的效果也比较的单一。(4)在最初的实现是,想要添加一些对图片的修改功能如相框的,但是由于时间有限,没有还得及添加上该功能。基于VC+的图片浏览器的设计与实现结 论VC+的图像浏览器设计与实现是基于VS2010平台,不仅为图像处理人员提供了方便、快捷的图像管理系统,有助于提高
42、处理图像的工作效率,使更多好的图像被雕琢出来。我们今后还要做的一个重点工作,就是将“VC+的图像浏览器”完善成一个更成熟的通用性图像管理系统,使它可以在网络的环境中与用户更好的完成信息交互。图片浏览器的完成,不仅促进我对所学知识的巩固,也是我对大学所学习的知识的实践和证实。C+语言的运用,完成了对本软件的计和实现,完成了最基本的按键,功能的实现和响应。完成图片的上一张、下一张、取反色、灰度、旋转、放缩、锐化、平滑等功能的实现。基于VC+的图片浏览器的设计与实现参考文献1 郑阿奇,Visual C+ 实用教程(第2版)M.北京:电子工业出版社,2003:3(2):92-102.2 David J
43、. Kruglinski,潘爱民,王国印译.Visual C+技术内幕(第四版)M. 北京:清华大学出版社.1999:16-25,38.3 魏亮,李春葆编著.Visual C+程序设计例学与实践M.北京:清华大学出版社.2006:36-31,45.4 刘瑞,吴跃进,王宗越.Visual C+项目开发实用案例M.北京:科学出版社.2006:18-25,34.5 孙鑫,余安萍. VC+深入详解M.北京:电子工业出版社.2006:23-28,40.6 李长林.VC+串口通信技术与典型案例J.北京:清华大学出版社.2006:20-30,34.7 陈清华等.Visual C+课程设计案例精选与编程指导J
44、.东南大学出版社.2004:28-34,37.8 严华峰等.VISUAL C+课程设计案例精编(第二版)M.北京:中国水利水电出版社.2004:34-38,40.9 周鸣扬.VISUAL C+界面编程技术M.北京:北京希望电子.2003:20-32,40.10 李现勇.VISUAL C+串口通信技术与工程实践(第二版)M.北京:人民邮电出版社.2005:49-56,60.11 龚建伟.VISUAL C+/Turbo C串口通信编程实践J.北京:电子工业出版社 .2004:46-50,60.基于VC+的图片浏览器的设计与实现致 谢我的论文设计与实现,终于通过长时间的努力完成了,也是意味着我的大学生涯走到了尽头,在大学里我真的要感谢所有对我的学习和工作有过帮助的和同学们,是你们的关心和帮助是我在大学的生涯不寂寞,也是你们是我的毕业设计顺利的完成。在设计完成的同时也深切的感受到,老师所教会我们的知识的重要性和自身对知识的掌握程度。 非常感谢XX老师在我大学的最后学习阶段对我的毕业设计给出的指点和教导,回想起在从论文最终定题到,最终的完成的过程中,从文献资料的收集,到文档的编写、修改等工作的完成,都是我的老师和同学对我提供了,很多的帮助,老师的无私奉献和敬业精神令人敬佩,我要对你们表示我最真诚的谢意。