多媒体大作业综述.docx
- 文档编号:278185
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:50
- 大小:943.91KB
多媒体大作业综述.docx
《多媒体大作业综述.docx》由会员分享,可在线阅读,更多相关《多媒体大作业综述.docx(50页珍藏版)》请在冰豆网上搜索。
多媒体大作业综述
南京工程学院
多媒体编程基础课程
综合作业说明书
题目多媒体综合设计
班级K软件测试101
学生姓名贺稳
学号240101825
2013年6月22日
一·程序功能与设计思路
(必须含有文字处理、绘图、图像、音频视频四部分内容各3种以上功能,界面及应用方法自己根据软件的特色综合考虑,每位同学必须自己设计一个动画标志,放在【帮助】对话框中,或者窗口界面上)
1、主界面
1.1主界面实现功能说明如下:
✧菜单项包括文字处理、绘图、图像、音频视频,帮助,点击进入各个功能界面
✧动画显示小蛇吐信
1.2界面效果显示:
1.3主界面设计思路:
首先创建一个基于对话框的对话框的MFC应用程序,然后在资源里添加五个菜单栏和四个对话框并将其对应连接起来,在主对话框菜单栏中添加四个菜单选项与四个子对话框链接,以实现点击菜单项跳出对应的对话框。
其功能结构如下:
2、文字处理
2.1文字实现功能说明如下:
✧菜单项包括文字渐变、文字旋转、颜色背景颜色显示、文字镂空,点击菜单项将显示各个功能。
2.2界面效果显示:
2.3文字处理功能结构图:
3、绘图工具
3.1绘图工具实现功能如下:
✧画圆
✧画椭圆
✧画矩形
3.2功能界面效果显示
4、图像处理
4.1图像处理实现功能如下:
✧从本地磁盘打开文件
✧图片去色
✧浮雕效果
✧颜色拾取
✧锐化效果
✧颜色取反
4.2功能界面效果显示
.3图像处理功能结构图:
5、音频视频播放
5.1音频视频功能实现:
✧从本地磁盘添加音频视频文件
✧双击播放音频视频文件
✧点击播放按钮播放文件
✧点击上一个、下一个选择当前文件的上一个、下一个文件
5.2功能界面显示
5.3音频视频播放功能结构图:
二.相关原理知识介绍
1.输出指定字体
定义系统以外的字体,可以调用函数GreateFont自行创建
HFont=CreateFont
(intnHeight,//字体高度,0采用系统缺省值,使用逻辑单位
intnWidth,//字体宽度,取0则由系统根据高宽比取最佳值
intnEscapement,//每行文字相对于页底的角度,单位为0.1度
intnOrienation,//每个文字相对于页底的角度,单位为0.1度
DWORDnWeight,//字体粗细度,范围为0~1000
DWORDDwltalic,//如果要求字体倾斜,则取非零
DWORDdwUnderline,//如果要求下划线,则取非零
DWORDdwStrikeout,//如果要求中划线,则取非零
DWORDdwCharset,//字体所属字符集
DWORDdwOutputPrecision,//输出精度,一般取缺省值OUT_DEFAULT_PRECIS
DWORDdwClipPrecision,//剪裁精度,常取缺省值CLIP_DEFAULT_PRECIS
DWORDdwQuality,//输出质量,一般取缺省值DEFAULT_QUALITY
DWORDdwPitchAndFamily,//字体名
)
2.文本输出
常用的文本输出函数TextOut原型如下:
BOOLTextOut
(
HDChdc,
intX,intY,//X,Y为用户区中字符串的起始坐标
LPCTSTRlpstring,//lpstring为显示的字符串
intnCount//nCount为字符串中的字节数
);
2、简单绘图工具
2.1绘图的基本方法
实现简单图形的绘制,绘图功能中,有绘制直线、矩形、椭圆、涂鸦等。
用到的方法如下:
CPointMoveTo(intx,inty);//直线起点
CPointLineTo(intx,inty);//直线终点
BOOLRectangle(intx1,inty1,intx2,inty2);//绘制矩形
BOOLEllipse(intx1,inty1,intx2,inty2);//绘制椭圆
涂鸦部分,以鼠标移动的轨迹画线。
同样要用到MouseMove()函数。
使起点为鼠标前一个位置,终点为鼠标当前位置,以画直线的方式完成。
对于线型、线宽、颜色的设置,通过使用颜色通用对话框完成。
2.2绘图时需要用到的设备环境类介绍
设备环境类CDC提供了绘制和打印的全部函数。
为了能让用户使用一些特殊的设备环境,CDC还派生了CPaintDC、CClientDC、CWindowDC和CMetaFileDC类。
(1)CPaintDC比较特殊,它的构造函数和析构函数都是针对OnPaint进行的,但用户一旦获得相关的CDC指针,就可以将它当成任何设备环境(包括屏幕、打印机)指针来使用。
CPaintDC类的构造函数会自动调用BeginPaint,而它的析构函数则会自动调用EndPaint。
(2)CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单栏以及状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。
而CWindowDC允许在窗口的任意位置中进行绘图,点(0,0)指整个窗口的左上角。
CWindowDC和CClientDC构造函数分别调用GetWindowDC和GetDC,但它们的析构函数都是调用ReleaseDC函数
3图像处理的基本方法
显示图像的方法并不复杂,图像已经绘制好保存在文件中,需要做的工作就是有效加载图像文件并让它显示出来,这里我们讨论几种最常用的方法。
LoadImage加载图像
该函数装载图标,光标,或位图。
函数原型:
HANDLELoadImage(
HINSTANCEhinst,//包含图像的实例句柄,可以为NULL
LPCTSTRlpszName,//图像的资源名称,本机加载,完整路径
UINTuType,//图像类型
intcxDesired,//加载的位图,参数为0
intcyDesired,//加载的位图,参数为0
UINTfuLoad );//返回加载的图像句柄
图像文件只支持bmp类型的。
获取鼠标位置的颜色值
VC提供了三个宏,用于获取某一颜色的红、绿、蓝三基色。
1)GetRValue宏该宏用于获取指定颜色的红颜色值
2)GetGValue宏该宏用于获取指定颜色的绿颜色值
3)GetBValue宏该宏用于获取指定颜色的蓝颜色值
ØBYTEGetRValue(DWORDrgb);
rgb标识一个颜色值。
返回值:
指定颜色的红色值。
ØBYTEGetGValue(DWORDrgb);
rgb标识一个颜色值。
返回值:
指定颜色的绿色值。
ØBYTEGetBValue(WORDrgb);
rgb标识一个颜色值。
返回值:
指定颜色的蓝色值。
提取颜色
ØGetPixel方法
该方法用于获取某一点的颜色值。
语法:
COLORREFGetPixel(intx,inty)const;
COLORREFGetPixel(POINTpoint)const;
参数:
x、y、point标识坐标点。
返回值:
坐标点的颜色值。
ØSetPixel方法
该方法用于设置某一点的颜色值。
语法:
COLORREFSetPixel(intx,inty,COLORREFcrColor);
COLORREFSetPixel(POINTpoint,COLORREFcrColor);
参数x、y、point标识坐标点。
crColor标识设置的颜色值。
返回值:
坐标点实际显示的颜色值。
4音频视频
播放Wav文件
用mciSendCommand函数
Ø语法如下:
MCIERRORmciSendCommand(MCIDEVICEID
IDDevice,UINTuMsg,DWORD
fdwCommand,DWORD_PTRdwParam);
参数说明:
IDDevice:
表示接收命令消息的MCI设备标识符。
uMsg:
表示命令消息,
使用mciSendCommand函数,需要
引用Mmsystem.h头文
件,链接Winmm.lib库文件。
#include"Mmsystem.h"//应用头文件
#pragmacomment(lib,“Winmm.lib”)//引用库文
定义一个CPlayWave类,用于打开波形设备、
播放wav文件、关闭波形设备。
向视图类中添加一个CPlayWave成员。
CPlayWavewave;
向视图类中添加一个按钮,处理按钮的单击事件。
//定义一个CPlayWave成员
voidCPlayWaveView:
:
OnBtPlay()
{
wave.Stop();//停止播放
wave.Play(m_hWnd,"WindowsXP登录音.wav");//开始播放wav文件
}
使用MCIWndCreate函数播放avi文件
在PlayAviDlg.app中引用vfw.h头文件并链接Vfw32.lib库文件。
#include"Vfw.h"//引用头文件
#pragmacomment(lib,“Vfw32.lib”)//链接库文件
处理“OK”按钮的单击事件,弹出文件打开对话框让用户选择一个avi文件,并进行播放。
voidCPlayAviDlg:
:
OnOK()
{
CFileDialogflDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"AVI文件|*.avi||",this);//定义文件打开对话框
if(flDlg.DoModal()==IDOK)//判断用户是否单击OK按钮
{
MCIWndDestroy(m_hAviWnd);//先释放窗口
m_hAviWnd=MCIWndCreate(m_hWnd,NULL,
MCIWNDF_SHOWMODE|MCIWNDF_NOTIFYMODE,
flDlg.GetPathName());//创建MCI窗口
MCIWndPlay(m_hAviWnd);//播放文件
}
}//此时已可以播放
在调用MCIWndCreate函数前,如果之前已经创建了一个视频窗口,则首先需要调用MCIWndDestroy函数释放视频窗口。
在对话框关闭时释放MCI窗口。
voidCPlayAviDlg:
:
OnCancel()
{
MCIWndDestroy(m_hAviWnd);//释放MCI窗口
CDialog:
:
OnCancel();
}
向对话框中添加OnNotifyMode消息方法,当设备的模式发生改变时调用该方法。
(手动添加)
LRESULTCPlayAviDlg:
:
OnNotifyMode(WPARAMwparam,LPARAMlparam)
{
longcode=(long)lparam;//获取通知代码
if(code==MCI_MODE_STOP)//判断avi文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 作业 综述