电子相册实验报告.docx
《电子相册实验报告.docx》由会员分享,可在线阅读,更多相关《电子相册实验报告.docx(8页珍藏版)》请在冰豆网上搜索。
电子相册实验报告
《嵌入式微处理器课程设计》报告格式
一、任务书
设计目标
能运用嵌入式相关知识制作出一个完整的电子相册,体现出媒体的多样性;整个电子相册能体现出课程的体系结构,并能制作出动画效果实现某些知识点的讲解,在整个电子相册中,交互性应贯穿始终。
电子相册设计需求
电子相册支持jpg、png、gif、xpm、和bmp格式图片的浏览,并可以对图片进行放大、缩小或旋转角度显示。
电子相册还支持幻灯片模式浏览图片,并可以对图片进行删除等操作。
二、功能描述
(1)显示图片列表功能:
在图片文件所在目录读取所有扩展名为jpg、xpm、png、bmp、gif格式的图片文件,并将读取的文件按顺序用相同大小的缩略图的形式显示在图片列表界面上。
如果图片数量超过当前屏幕显示范围时,可向下滚动显示。
其它格式文件忽略不读。
(2)图片选中显示功能:
在图片列表中选定某个图片时,此图片的缩略图成凸起放大状态,表示选中此图片并将对此图片进行操作。
(3)删除图片功能:
对当前选中的图片可执行删除操作,选择删除后会进行删除确认提示,若选择彻底删除图片则从物理设备上和图片列表上将该图片删除。
(4)浏览图片功能:
对选中的图片可以执行浏览的功能,若图片原本大小超过图片浏览区域(即相框)的大小,则会自动调整变成适应图片浏览区域的最大尺寸。
若图片原本大小没有超过图片浏览区域大小,则以原始尺寸在图片浏览区域显示。
可对打开的图片进行放大、缩小、向左旋转、向右旋转、全屏模式与返回原始尺寸等一系列的浏览模式操作。
(5)图片放大功能:
在当前图片尺寸大小的基础上,图片可逐级放大,以尺寸的0.5倍递增,最大可放大到打开图片时显示的初始尺寸的3倍。
(6)图片缩小功能:
在当前图片尺寸大小的基础上,图片可逐级缩小。
最小可缩小到打开图片时显示的初始尺寸的0.5倍。
(7)图片旋转功能:
打开图片后,可在图片的任意状态下对图片进行旋转操作。
可在当前状态下,将图片向左或向右旋转,每次旋转角度差值为90°。
图片旋转后会自动适应窗口大小,完整显示图片。
(8)图片移动功能:
图片执行放大功能后,图片可在浏览区域进行移动。
(9)图片全屏显示功能:
可以将图片执行全屏显示。
为了支持点击操作,全屏显示时不覆盖相关功能按钮。
(10)幻灯片模式自动浏览功能:
可从当前选定的图片开始执行自动播放图片功能,初始设定播放速度为3秒间隔,可以加速或减速播放。
(11)给用户提供友好的图形交互界面,并合理安排界面元素布局,使其美观并且方便用户操作。
三、程序运行界面说明(注:
含程序运行指导说明)
四、程序处理流程
图片列表界面为电子相册的入口和出口。
通过图片列表功能菜单,可执行打开图片进行浏览的功能和删除图片的功能,并根据所选择的功能进入图片浏览界面或显示删除文件提示框。
进入图片浏览界面可通过图片浏览功能菜单,对当前显示的图片执行各种操作,从而进入相应的图片浏览界面。
放大图片的显示,缩小图片的显示,旋转图片的显示,图片全屏的显示和自动浏览图片的显示均将显示在图片浏览界面。
而各种模式下的图片浏览界面下,均可以通过功能菜单对其他浏览模式进行选择。
五、任务的定义、实现以及主要模块说明
电子相册程序定义了5个类,AlbPicChooseForm为电子相册图片列表界面类,AlbMenuForm为电子相册图片列表功能菜单类,AlbPicViewForm为图片浏览类,AlbOptionForm为图片浏览界面的功能菜单类,AlbDelForm为图片删除类。
AlbPicChooseForm和AlbMenuForm成单向关联关系。
AlbMenuForm和AlbDelForm、AlbPicViewForm分别成单向关联关系。
AlbPicViewForm和AlbOptionForm成双向关联关系。
其中,对图片的各种处理均在AlbPicViewForm类中实现,如放大、缩小、逆时针旋转、顺时针旋转、全屏显示、图片移动显示等。
电子相册功能实现
用户进入电子相册后,首先显示图片列表。
图片列表由12个Label组成,将从当前目录下扫描jpg、xpm、png、gif、bmp格式的图片并将其名称存入链表中,通过load函数加载图片到一个QImage类型的变量中,然后将此变量与Label关联起来,以实现图片在Label上的显示。
值得注意的一点是,此Label上加载的图片均为真实图片的缩略图,而不是图片本身。
如果图片的缩略图已经存在,则将缩略图直接显示在Label上,如果缩略图不存在,则生成图片的缩略图。
如果该图片文件为非法图片格式文件,则在该Label上载入一个标志着读取图片文件失败的图片。
缩略图是图片的真实缩影,在缩小时保持原图片的比例。
图片列表显示流程图
图片选中状态功能实现
首先设定图片选中状态的表示方式,即缩略图图片的尺寸放大,满足缩略图宽为80像素或高为60像素中任一条件,保持图片的宽高比例与原图片宽高比例相同,选中状态下的图片缩略图在图片列表界面上凸起显示。
如果图片是标志为格式不正确的图片,则该图片被选中或离开选中状态时不做放大缩小动作以示与正常图片的区别。
且根据不同的按键按下,进行不同位置图片的选中。
选择图片流程图
删除图片功能实现
在图片列表界面上对选中图片要进行删除操作时,需注意两点,一点就是待删除的图片是否是图片列表的最后一张图片,若是的话,则删除图片后,被删除图片的前一张图片呈选中状态。
否则,删除图片后,被删除图片的后一张显示为选中状态,且此图片删除后,图片文件链表中删除图片节点,其列表界面中图片的位置要统一向前移动一个位置。
删除图片功能实现流程图
图片的放大功能的实现
设定md_ChangeSize来记录放大的倍数,并且当放大到最大倍数时,将菜单项上的“放大”改成相应的提示菜单条“已经达到最大,并且根据放大倍数在浏览区域的相框上绘制图片。
图片的放大功能实现流程图
图片缩小功能的实现
可在图片的任意大小状态下进行缩小,直到图片缩小到初始打开图片显示尺寸的0.5倍大小。
缩小图片时要保证缩小后的图片依然居于相框中间位置。
在图片非全屏模式和全屏模式两种情况下,判定当前状态的图片与初始时显示的位置移动的距离大小,并根据不同的图片旋转角度,据此距离大小计算并设定相应的图片在相框中的位置坐标。
图片缩小功能实现
图片移动功能实现
图片在放大到1.0倍以上时,可进行图片在相框内的上下或左右移动显示。
图片在全屏模式下选择放大时图片也可以进行上下或左右移动显示。
为保证在移动时正确显示在相框内的图片视区,需要将图片在每次移动时进行重画,并计算图片位置的移动距离。
图片移动功能实现流程图
相框内图片显示功能的实现
不同的选择下,相框内的图片显示状态是不同的。
对于图片的显示需要考虑的情况有是否是全屏模式,当前的缩放倍数和当前的旋转角度,并需要根据判断图片是否移动来对显示边界进行检测及计算。
根据图片缩放和旋转参数和检测到的移动距离,利用矩阵计算出新图片所需的各个参数,根据这些参数生成显示在相框内的图片。
最后将图片绘制在相框内,即当前的图片浏览区内。
图片显示功能实现流程图
六、调试与排错过程说明
七、课程设计心得体会(注:
含进一步改进方案和应用建议)
由于时间和个人能力的限制我们仅实现了电子相册的基本功能。
在电子相册的设计中,还存在着许多的不足之处。
我们需要做的事情还有很多,电子相册的界面的列表模式切换,如缩略图列表、文件名列表等的切换,和电子相册浏览图片时的切换效果等。
八、附录:
(注:
含所有源代码详解)
注:
课程设计报告的电子稿、所有工程程序代码及运行结果的图片都以学号+姓名来命名并打包后发至qrs12**********