综合作业报告格式.doc_第1页
综合作业报告格式.doc_第2页
综合作业报告格式.doc_第3页
综合作业报告格式.doc_第4页
综合作业报告格式.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成绩 南京工程学院多媒体编程基础课程综合作业说明书题 目 (根据自己设计的软件特色定题) 班 级 学 生 姓 名 学 号 2011 年 10 月 28 日注:本周五(10月28日)检查综合作业程序完成进度,打初步印象分;综合作业报告最迟11月9日上交 (包括源代码和作业电子稿、打印稿)。提交文件格式 : 202060236_杨文龙_多媒体081.rar实验报告5如果来不及也可以推迟到11月9日上交如有特殊情况由班长和我联系。一、 程序功能与设计思路设计目标具有的功能 (必须含有文字处理、绘图、图像、音频视频四部分内容各3种以上功能,界面及应用方法自己根据软件的特色综合考虑,每位同学必须自己设计一个标志,放在窗口界面上,最好是带动画效果)界面效果图框架结构图等=格式及内容的示例(注意文本、图、表格的格式):=1.1 WMPlayer媒体播放器程序实现功能说明如下: 按路径选择播放媒体文件,可以支持MP3、WMA、WMV、AVI、RM、RMVB、FLV、MP4等格式。 将媒体文件加入菜单中下拉列表框。 在列表中随意选择要播放的媒体文件。 控制媒体文件的播放、暂停、停止。 指定播放当前文件的上一个或下一个媒体文件。 在播放时,可以获取并显示当前播放媒体的文件信息。程序运行界面如图5_1所示。(1) 新添四个图标资源,通过图像设备选择对话框,选择16*16作为图标的设备类型。图标ID号分别默认IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4.(2)用图形编辑器绘制标vc+.(3)为CMainFram类添加一个成员函数ChangeIcon,用来切换应用程序的图标。该函数代码如下:void CMainFrame:ChangeIcon(UINT nIconID)HICON hIconNew=AfxGetApp()-LoadIcon(nIconID);HICON hIconOld=(HICON)GetClassLong(m_hWnd,GCL_HICON);if(hIconNew!=hIconOld)DestroyIcon(hIconOld);SetClassLong(m_hWnd,GCL_HICON,(long)hIconNew);RedrawWindow();(4)在CMainFrame:OnCreate函数的最后添加计时器设置代码:SetTimer(1,500,NULL);(5)给CMainFrame类添加WM_TIMER的消息映射函数,并添加代码:void CMainFrame:OnTimer(UINT_PTR nIDEvent)static int icons=IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4;static int index=0;ChangeIcon(iconsindex);index+;if(index3)index=0;/ TODO: 在此添加消息处理程序代码和/或调用默认值CFrameWnd:OnTimer(nIDEvent);(6)在CMainFrame类添加WM_DESTROY的消息映射函数,并添加下列代码void CMainFrame:OnDestroy()CFrameWnd:OnDestroy(); KillTimer(1);图1_1 WMPlayer媒体播放器运行界面1.2 WMPlayer媒体播放器的设计思路:首先创建一个基于CLR的Windows窗体应用程序,接下来在窗体中添加一个AxWindowsMediaPlayer控件,然后利用控件的属性和方法实现媒体的播放和控制操作;此外,还要添加菜单栏用于打开文件、添加播放列表、选择播放文件、控制播放以及退出应用程序等操作;添加状态栏用于显示媒体的标题和文件类型信息。其功能结构如图5_2所示。 图1_2 WMPlayer功能结构图面二、 相关原理知识介绍 所应用到的知识点介绍,如:文字处理函数,GDI+函数等=格式及内容的示例(注意文本、图、表格的格式,尤其图表的编号和代码的格式):= 文字处理我们在使用各种软件的时候,都要涉及到文字的处理,其中就包括要选择使用不同的字体,因此,需要重点了解字体的含义、原理、以及如何使用这些字体,并创建符合自己要求的字体。Windows使用了两种主要字体:一种是等宽字体,一种是可变宽字体。同时Windows又定义了三种不同类型的字体:光栅字体(点阵图字体)、矢量字体(由一连串线段构成的字体)、TrueType字体(用线条和样条曲线来定义字体轮廓的字体),其中TrueType字体可以进行任何限度的缩放,而字体却仍然保持良好的质量。无论哪种字体,Windows都是使用TEXTMERIC和LOGFONT两个结构来进行描述的。我们通过这两个结构来获得字体信息,自定义我们需要的字体。 在三种形式的成员函数中:Drawing-Attribute Function(如:DetTextColor GetTextColor等)Text FunctionFont FunctionGDI对象对字体的支持为了能够绘制各种类型的文本、图形图象信息,Windows操作系统提供了6个GDI对象,分别为字体、位图、画刷、调色板、画笔和区域。在MFC类库中,分别对应于CFont、CBitmap、CBrush、CPalette、CPen和CRgn类。下面以使用CFont类为例介绍如何使用GDI对象。CFont类用于描述文本的字体信息,下面的示例将指定字体格式的文本输出到窗口中。多媒体动画及视频,音频计算机动画显示是利用人眼的视觉暂留特征。如果不断在平米上显示内容接近的图片或图形,事件错觉,会使人感到这些图片中的图形是活动的,所播放的图片速度不能低于24张,否则人眼对动画感觉调用就不会那么连贯。应用程序通过SetTimer()函数来完成对新的定时器的申请设置,这个函数的原型如下:CWnd:SetTimer(UINT nIDEvent,UINT nElapse,Void(CALLBACK*lpfnTimer)(HWND,UINT,UINT,DWORD);参数说明:nIDEvent:指定一个非0的定时器标示符。 nElapse: 以毫秒知识限时值。 lpfnTimer:指示处理WM_TIMER消息的程序提供的TimerProc回调函数的地址为NULL,则消息放到程序队列中由该CWindow对象处理。返回值:成功则返回定时值的标示符,否则返回0当不需要定时器时,可以调用KillTimer()函数来停止传送WM_TIMER消息,其函数原型如下:CWnd:KillTimer(UINT nIDEven);当定时器用尽时,在调用KillTimer()函数时,返回NULL,表示无可用。正场调用时,返回值部位0。加载应用程序Wave资源若程序中需要播放较小的wav文件,可以讲wav文件加载为应用程序的资源。程序可直接使用wav资源文件就可以了。为了播放wav资源,需要使用系统提供的PlaySound函数,不仅可以播放wav资源,还可以播放wav文件。格式如下:BOOLPlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound):参数说明:pszSound:表示播放声音的字符串,可以是表示资源的字符串,也可以是表示wav文件的字符串,最大长度256个字符,包括终止符。Hmod:表示包含wav资源的可执行文件句柄。fdwSound:表示声音的播放标记。虽然可使用PlaySound函数播放wav文件,但是音频必须完全载入物理内存,音频文件较大,则不适合使用,此时课使用mciSendCommand函数来取代PlaySound函数实现wav文件的播放。函数语法如下:MCIERROR mciSendCommand(MCIDEVICEND IDDevice,UINT nMSG, DWORD fdwCommand,DWORD_PTR dwParam);参数说明:IDDevice:表示接收消息的MCI设备标示符。uMsg:表示命令消息。绘图知识图形是由点和线构成的,设备环境CDC类提供了多个方法绘制线条。1)MoveTo 该方法用于移动当前的坐标点到指定的位置上。 CPoint MoveTo( int x, int y ); 参数说明:x:表示当前位置的x轴坐标。 y:表示当前位置的y轴坐标。2)LineTo 该方法用于从当前坐标点绘制一条直线到参数指定的位置。 BOOL LineTo( int x, int y ); 参数说明: x:表示直线终点的x轴坐标。 y:表示直线终点的y轴坐标。画笔是Windows应用程序中用来绘制各种直线和曲线的一种图形工具,它可分为修饰画笔和几何画笔两种类型。在这两种类型中,几何画笔的定义最复杂,它不但有修饰画笔的属性,而且还跟画刷的样式、阴影线类型有关,通常用在对绘图有较高要求的场合。而修饰画笔只有简单的几种属性,通常用在简单的直线和曲线等场合。一个修饰画笔通常具有宽度、风格和颜色三种属性。画笔的宽度用来确定所画的线条宽度,它是用设备单位表示的。默认的画笔宽度是一个像素单位。画笔的颜色确定了所画的线条颜色。画笔的风格确定了所绘图形的线型,它通常有实线、虚线、点线、点划线、双点划线、不可见线和内框线等七种风格。 三个重载的构造函数CPen( );CPen( int nPenStyle, int nWidth, COLORREF crColor );CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );图像处理技巧在Windows的画图程序中,打开“编辑颜色”窗口时,当鼠标在颜色区域移动时,右方的显示区域和下方的编辑框中会显示相应的颜色和颜色值。本例实现该功能。技术要点:获取某一点的颜色只要得到当前鼠标的设备环境CDC类对象即可,因为调用CDC类的GetPixel方法可获取某一点的颜色值。VC提供了三个宏,用于获取某一颜色的红、绿、蓝三基色。1)GetRValue宏 该宏用于获取指定颜色的红颜色值2)GetGValue宏 该宏用于获取指定颜色的绿颜色值3)GetBValue宏 该宏用于获取指定颜色的蓝颜色值BYTE GetRValue(DWORD rgb );rgb标识一个颜色值。 返回值:指定颜色的红色值。BYTE GetGValue(DWORD rgb );rgb标识一个颜色值。 返回值:指定颜色的绿色值。 rgb标识一个颜色值。 返回值:指定颜色的蓝色值。Windows API 函数。 函数原型:HWND ChildWindowFromPoint (HWND hWnd, LONG xPoint, LONG yPoint); 函数功能:返回父窗口中包含了指定点的第一个子窗口的句柄。 函数参数:hWnd 父窗口的句柄 xPoint 点的X坐标,以像素为单位 yPoint 点的Y坐标,以像素为单位 返回值:发现包含了指定点的第一个子窗口的句柄。如未发现任何窗口,则返回hWnd函数功能:该函数把相对于一个窗口的坐标空间的一组点映射成相对于另一窗口的坐标空间的一组点。 函数原型:int MapWindowPoints(HWND hWndFrom, HWND hWndTo,LPPOINT lpPoints, UINT cPoints); 参数:hWndfrom:转换点所在窗口的句柄,如果此参数为NULL或HWND_DESKTOP则假定这些点在屏幕坐标上。 hWndTo:转换到的窗口的句柄,如果此参数为NULL或HWND_DESKTOP,这些点被转换为屏幕坐标。 lpPoints:指向POINT结构数组的指针,此结构数组包含要转换的点,此参数也可指向RECT结构,在此情况下,Cpoints参数应设置为2。 cPoints:指定LpPoints参数指向的数组中POINT结构的数目。 返回值:如果函数调用成功,返回值的低位字是每一个源点的水平坐标的像素数目,以便计算每个目标点的水平坐标;高位字是每一个源点的垂直坐标的像素的数目,以便计算每个目标点的垂直坐标,如果函数调用失败,返回值为零。 (父窗口的句柄)。如指定点位于父窗口外部,则返回零。三、 设计方法 即步骤 界面设计 各功能模块设计 写出操作步骤和代码,以及必要的环境配置和流程图 (批改的方法很简单,找几个低年级同学按你描述的步骤做,看是否可以做出来,另外检查有无雷同和相互抄袭现象)= =格式及内容的示例(注意文本、图、表格的格式):=案例具体的设计过程如下:1)启动Visual C+ 2008开发环境,在菜单中选择“文件”“新建”“项目”,弹出“新建项目”对话框;在对话框的左侧“项目类型”选项中选择CLR,在右侧显示的已安装应用程序项目模板中选择“Windows窗体应用程序”,输入媒体播放器项目名称“WMPlayer”,选择好合适的程序文件存放路径,点“确定”按钮完成,如图3-1所示。图3-1 创建多媒体播放器项目2)调整窗体至大小合适,在窗体“Text”属性中写入“Windows媒体播放器”,然后添加Menustrip1菜单条控件,并在菜单中添加toolStripComboBox下拉列表框控件。操作方法如图5-7所示,先点击菜单设计方框中的下拉按钮,可以看到MenuItem、ComboBox和TextBox三个选项,然后选择“ComboBox”,这样就可以在菜单中嵌入一个下拉列表框。图3-2 添加toolStripComboBox下拉列表框控件菜单设计完成后的具体内容如表3_1所示。表3_1 WMPlayer菜单设计菜 单 菜 单 项 文件 (&F)打开(&O) 作用:显示文件对话框,选择要播放的媒体文件退出(&E) 作用:退出媒体播放器程序控制 (&C)播放 作用:控制媒体播放器“播放”操作停止 作用:控制媒体播放器“停止”操作暂停 作用:控制媒体播放器“暂停”操作上一个 作用:播放前面一个媒体下一个 作用:播放后面一个媒体下拉列表框作用: 显示播放列表3)添加一个statusStrip状态栏控件,用于显示当前播放的媒体信息。在状态栏控件中创建状态5个标签toolStripStatusLabel1至toolStripStatusLabel5,它们的作用如表3_2所示。表3_1 状态栏中toolStripStatusLabel标签的用途标 签 名 称 用 途 toolStripStatusLabel1作用:显示文字“正在播放”toolStripStatusLabel2作用:显示当前在播放的媒体名称toolStripStatusLabel3作用:显示分隔竖线|toolStripStatusLabel4作用:显示文字“媒体类型”toolStripStatusLabel5作用:显示当前在播放的媒体文件类型4)按5.2.1节中所述方法添加AxWindowsMediaPlayer控件,并将控件的Dock属性设置为“Fill”。5)添加openFileDialog控件,Name属性为“OpenMediaFile”。应用程序窗体和所有控件的属性设置如表3_2所示。表3_2 窗体及控件的属性设置控件类型控件名称属 性设 置FormForm1TextWindows媒体播放器BackColorAliceBlueWindows Media PlayerAxWindowsMediaPlayer 1DockFillOpenFileDialogOpenFileDialog1NameOpenMediaFile7)在Form1.h中添加以下数组和全局变量,用于保存播放列表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论