资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
钦 州学院VB 程序设计课程设计报告图片浏览器的设计院 系 物理与电子工程系 专 业 电子信息工程 学 生 班 级 2007 级 3 班 姓 名 黄 烁 学 号 0705401338 指导教师单位 钦州学院 指导教师姓名 陶卫平 指导教师职称 讲 师 2010 年 6 月图片浏览器电子信息工程专业 2007 级 黄烁指导教师 陶卫平摘要:根据设计的任务和规划,设计一个能实现图片浏览的图片浏览器。此应用系统主要有文件的读入、文件的缩略显示和列表显示等、图片文件的浏览、列表的幻灯片播放等功能。本报告将介绍此系统的结构和模块实现过程,分享设计思路和设计过程,报告设计原理和设计调试结果,共同学习 VB 实现图片浏览的更多内容。关键词:图片浏览器,缩略图,控件,过程设计目的:(1)进一步巩固和提高 Visual Basic 课程所学的理论知识;(2)熟悉几种常用函数、过程、控件及其调用方法,培养调试程序的能力;(4)培养运用所学专业知识进行独立思考和综合分析、解决实际问题的能力;(3)熟悉设计软件的开发流程,掌握设计实践过程中文献检索、资料查询的基本方法以及获取新知识设计技术指标与要求:(1)利用 VB6.0 平台完成应用系统的设计与调试;(2)运用在VB 程序设计课程中学习到的对象、属性、方法、事件等面向对象程序设计的知识和技能,完成课程设计任务书所计划的任务。积极借鉴用其他学科的知识、技能,力求圆满的完成课程设计任务书所规定的设计任务。目录前言11 图片浏览器概述 11.1 功能描述11.2 设计思想 22 缩略图设计方案选择与比较22.1 方案一 利用 API 函数 bitblt 实现的缩略图22.2 方案二 利用第三方控件实现的缩略图32.3 方案三 利用 WebBrowser 控件实现的缩略图32.4 三个方案的对比33 设计实践 43.1 设计时间和任务安排43.2 系统模块实现43.2.1 算法43.2.2 注意事项53.3 运行性能测试与评价64 存在的问题与不足 85 设计体会 8参考文献 8钦州学院本科 vb 课程设计5前言浏览电子图片已经是人们生活中很频繁的事情了,而选择一个适合自己的图像浏览器是一个迫切的需求。大多人需要的不是如 Photoshop CS3 那样功能强大的编辑器,而是一个操作简单,界面好看,能够快速查看和筛选的图像浏览器。此产品就是应了大众的要求而开发的。1 图片浏览器概述这是一款以缩略图为主界面的图片浏览器。浏览器的主要功能有缩略图显示,在此基础上,实现浏览和幻灯片播放了,并可进行 90角度转换和灰度转换。系统要求在 windows2000 以上操作系统运行,支持本地磁盘上 jpeg、bmp、png格式的图片,能实现灰度转换,但遗憾的是保存功能还没有实现。打开应用系统,首先显示当前文件夹的图片,即安装此软件的文件夹的所有文件。通过打开对话框或者驱动盘选择要显示的图片文件夹,既能读出文件夹的所有图片。用户可以通过菜单操作,选择各种浏览和编辑模式,或者点击界面相应按钮,也可进行各种查看方式,并能查看“关于”我们的信息。1.1 功能描述图像浏览器的模块主要分:缩略图模块,图片浏览模块,幻灯片模式模块和简单编辑模块。黄烁 图片浏览器的设计6缩略图通过读取文件夹列表显示出来,可以通过对话框或改变文件夹刷新列表同时刷新缩略图。在图片列表空白处右击,可以选择各种显示方式,因为显示时用了 windows 的文件夹控件,所以操作跟 windows 系统一模一样。单击列表文件可以在左下方显示出当前选中的图片实现预览和获得文件大小、路径,并根据图片大小判断是否适合窗口显示,如果图片本身小于控件则不做任何缩放,达到了较好的预览效果。单击预显示或双击列表进入浏览模式,此时使用了全频浏览,能播放上一张下一张等,可以对当前图片进行放大、缩小、原大小查看,单击图片退出此模式。幻灯片可以自动读取列表文件自动播放,也可手动控制上下张,可根据图片大小判断是否适合窗口显示,如果图片本身小于屏幕则不做任何缩放。简单编辑模块只实现了两个功能:灰度转换和图片正交旋转。灰度,就是把图片的颜色擦出只显示黑白灰,正交旋转实现图片的正 90、反 90和 Y 镜像旋转,在弹出窗口进行转换查看,但是没能保存起来。1.2 设计思想根据功能描述,建立了系统的体系结构。即将整个系统分解成若干子功能模块,用框图表示各功能模块之间的衔接关系和主要流程如下:选择打开文件幻灯片模式简单编辑模式缩略图生成End工程初始化打开对话框驱动盘浏览2 缩略图设计方案设想钦州学院本科 vb 课程设计7系统各个模块的实现都有各自的特点,浏览模式主要技术是图片的载入跟随列表,并能居中和适合大小显示,幻灯片是在浏览的基础上增加了一个时间事件,没有本质区别。而这些都能用 Picture 控件、Image 控件和 Command 控件组合实现,居中和适合大小显示的算法也比较简单,本文对此不做详细介绍。至于灰度转换和图片旋转将在同组组员论文中有详细介绍,本文亦对此从略。因为本系统缩略图是整个系统的中枢,是重点也是难点。所以本节着重介绍设计实践过程中运用的三种缩略图方法,并比较它们的优劣。2.1 方案一 利用 API 函数 bitblt 实现的缩略图API 函数 bitblt 函数功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。函数原型: BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop)添加两个 picturesbox,picturesbox 里面分别用添加 image1 和 image2 进行图片加载。加载后的图片在规定大小的 pictures 里面根据大小适合显示后,利用bitblt 函数把这个 image1 位图转换到 image2 里面,把这张图片送给 ImageList 进行显示。通过编辑 ImageList 的事件和其他的界面或窗口进行衔接。但这里需要解决转换太慢和缩略图占用内存过多的问题。2.2 方案二 利用第三方控件实现的缩略图网上有很多公司或个人制作了一些第三方控件,这些控件装载后可以快速的实现我们需要的某些功能。VB 编程资源大全控件图形里就有 Pegasus Imaging Corporation 出品的ImagXpress 5.0。它是很著名的图像处理开发工具包, 与其他许多图像工具包不同,它可以提供多种方式调用(ActiveX, VCL, DLL, C+ COM 库 For VC+),以 VB 例程为最多。有了此工具,可以很容易在应用程序中增加图形特殊处理功能,可以读取许多图像文件格式: BMP, DCX, DIB, ePIC, GIF, ICO, JIF, JPG, PBM, PCX, PGM, PNG, PPM, RLE, TGA, TIFF 6.0, WMF, and WPG, 还可以进行图像格式互换。内含有 70 多种图像处理方式,例如有: .滤镜(同 PhoteShop 中的 Filter 一样的意义),例如有曝光,使图片就象照片底片的效果,柔和(许多人学 photeshop 中经常遇到的滤镜), 还有十几种效果都非黄烁 图片浏览器的设计8常精采. .调整对比度,亮度.按比例放大或缩小图形,重新指定图片大小(可以制作微缩图) .将图片扭曲/变形 .图片翻转.制作旧图片效果(图片会发黄,就象是珍藏多年以前的相片效果) 此方法需要安装 ImagXpress,而且存在版权问题。2.3 方案三 利用 WebBrowser 控件实现的缩略图WebBrowser 控件的 Navigate 属性是用于连接到指定的 URL,LocationURL 返回WebBrowser 当前正在显示的资源的 URL。指定的 URL 就是指本地磁盘上的文件。用WebBrowser 控件的 Navigate 属性访问文件夹,可以得出跟 windows 操作系统访问文件夹一样的效果,当然包涵其中的缩略图显示。因引用 windows 操作系统访问文件夹的方法,所以需要解决如何限制只显示图片文件和默认缩略图显示方式,并且能不能修改 WebBrowse 事件实现其他链接。在此系统中,最终选择了这一设想。这是因为在之前的两个方案中,都遇到没能克服的困难。在方案一的时候,结果如下图所示:其中为了在 ListView 控件里实现缩略而通过 image 转送 pictures 时,似乎PicImg.Picture = PicImg.Image 没有实现。部分代码如下:For i% = 0 To File1.ListCount - 1Set Img.Picture = LoadPicture(Dir1.Path & & File1.List(i%)钦州学院本科 vb 课程设计9此处添加适合大小显示代码!PicImg.Picture = PicImg.ImageBitBlt Pictemp.hDC, 0, 0, ThumbSize, ThumbSize, PicImg.hDC, 0, 0, vbSrcCopySRCCOPY:将源矩形区域直接拷贝到目标矩形区域。Pictemp.Picture = Pictemp.ImageImageList1.ListImages.Add i% + 1, , PicImg.Picture把装到 Pictemp 里的图片再放进图象列表 ImageList1 中去Next i%利用 Pegasus Imaging Corporation 出品的 ImagXpress 5.0 确实能够完美的完成列表缩略图的显示,但是因为每次启动此系统都必须确认 ImagXpress 5.0 控件的版权,这不利于系统的高效运行,所以没有采用。3 设计实践3.1 设计时间和任务安排第一阶段:界面设计阶段。工作时间安排在 78 周。应用程序主要用到三个界面,设计时按四个界面设计,之后再把主界面和浏览模式融合为一个界面(即浏览模式时,主界面的一些控件不显示,事件触发时显示,就可以到达融合的效果) 。所以界面阶段安排如下:主界面黄烁;浏览界面蓝春达;幻灯片模式刘标;简单编辑界面曾祥华。第二阶段:程序代码设计阶段。工作时间安排在 912 周。各个模块工作的人员安排与界面设计时相同,因为对各个控件布局的熟悉和对模块的整体把握
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号