多媒体实验电子稿

上传人:ji****72 文档编号:37641988 上传时间:2018-04-20 格式:DOC 页数:32 大小:4.36MB
返回 下载 相关 举报
多媒体实验电子稿_第1页
第1页 / 共32页
多媒体实验电子稿_第2页
第2页 / 共32页
多媒体实验电子稿_第3页
第3页 / 共32页
多媒体实验电子稿_第4页
第4页 / 共32页
多媒体实验电子稿_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《多媒体实验电子稿》由会员分享,可在线阅读,更多相关《多媒体实验电子稿(32页珍藏版)》请在金锄头文库上搜索。

1、一、程序功能与设计思路程序功能与设计思路整体设计目标:含有文字处理、绘图、图像、音频视频四部分内容各 3 种以上功能,自己设计一个标志,放在窗口界面上,带动画效果 1 1、主界面、主界面 1.1 主界面实现功能说明如下:菜单项包括文字处理、绘图、图像、音频视频,点击进入各个功能界面 1.2 界面效果显示:1.3 主界面设计思路:首先创建一个基于对话框的对话框的 MFC 应用程序,然后在资源 里添加四个菜单栏和四个对话框并将其对应连接起来,在主对话框菜单栏中添 加四个菜单选项与四个子对话框链接,以实现点击菜单项跳出对应的对话框。其功能结构如下:2 2、文字处理、文字处理 2.1 文字实现功能说明

2、如下:1. 菜单项包括文字镂空、文字旋转、主界面文字处理 绘图工具音频视频播放 图像处理颜色渐变,点击菜单项将显示各个功能。2. 文字镂空:在对话框中显示一串字符,字符中间镂空显示。3.文字旋转:在对话框中显示一串字符,字符循环旋转,并实现空间。视觉 效果。4.颜色渐变:在对话框中显示一串字符,并整体实现颜色渐变。 文字的镂空文字的旋转文字的颜色渐变2.3 文字处理功能结构图:绘图工具绘图工具3.1 绘图工具实现功能如下:1.画线 2.画椭圆 3.画矩形3.2 功能界面效果显示3、画直线画矩形画椭圆3.3 绘图工具功能结构图:图像处理图像处理4.1 图像处理实现功能如下:从本地磁盘打开.bmp

3、 文件1.图片取反2.浮雕效果功能界面效果显示:原始图原始图取反图取反图浮雕图浮雕图:音频视频播放音频视频播放5.1 音频视频功能实现:1.从本地磁盘添加音频视频文件2.双击播放音频视频文件 5.2 功能界面显示5.3 音频视频播放功能结构图:相关原理知识介绍相关原理知识介绍1 1、文字处理、文字处理1.1 文字处理的基本知识Windows 使用了两种主要字体:一种是等宽字体,一种是可变宽字体。 同时 Windows 又定义了三种不同类型的字体:光栅字体(设备相关的点阵图字 体)、矢量字体(设备无关的由一系列线段构成的字体)、TrueType 字体(设 备无关的用线条和样条曲线来定义轮廓的字体

4、),其中 TrueType 字体可以在进 行任何限度的缩放后,而仍然保持良好的字体质量。此外,还有 OpenType 字体, 它也是设备无关的,可以用来定义手写字体。无论哪种字体,在 Windows 系统 中都是使用 TEXTMERIC 和 LOGFONT 两个结构来进行描述的。在应用中通过这两 个结构来获取字体信息,定义显示文字所需要的字体。1.2 文本输出函数函数名函数名功能功能TextOut用当前字体在指定位置处写一个字符串 ExTextOut用当前字体在矩形区域内写一个字符串 TabbedTextOut在指定位置写一个字符串 DrawText在指定矩形中绘制格式化的文本1.3 文字处理

5、的基本步骤 1)获取设备环境(CDC* pDC) 2)设置系统字体-默认字体添加文件添加文件控制控制播放播放 暂停暂停音频视频播放音频视频播放-得到当前的字体(部分)信息,以该信息输出-创建自定义字体,选入设备环境 3)输 出 文 本 (文本输出函数) 1.4、设置系统字体的步骤1)创建字体对象:CFont font; / font 为字体对象2)创建字体CreateFont()CreatePointFont CreateFontIndirect() CreateFontFontIndirect()3) 调用成员函数 SelectObject 将字体选入设备环境: SelectObject(

6、/直线起点 CPoint LineTo(int x,int y); /直线终点 BOOL Rectangle(int x1,int y1,int x2,int y2); /绘制矩形 BOOL Ellipse(int x1,int y1,int x2,int y2); /绘制椭圆 涂鸦部分,以鼠标移动的轨迹画线。同样要用到 MouseMove()函数。使起点 为鼠标前一个位置,终点为鼠标当前位置,以画直线的方式完成。 对于线型、线宽、颜色的设置,通过使用颜色通用对话框完成。 2.2 绘图时需要用到的设备环境类介绍设备环境类 CDC 提供了绘制和打印的全部函数。为了能让用户使用一些特 殊的设备环境

7、,CDC 还派生了 CPaintDC、CClientDC、CWindowDC 和 CMetaFileDC 类。(1)CPaintDC 比较特殊,它的构造函数和析构函数都是针对 OnPaint 进 行的,但用户一旦获得相关的 CDC 指针,就可以将它当成任何设备环境(包括屏 幕、打印机)指针来使用。CPaintDC 类的构造函数会自动调用 BeginPaint,而 它的析构函数则会自动调用 EndPaint。(2)CClientDC 只能在窗口的客户区(不包括边框、标题栏、菜单栏以及 状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。而 CWindowDC 允许 在窗口的任意位置中进行绘

8、图,点(0,0)指整个窗口的左上角。CWindowDC 和 CClientDC 构造函数分别调用 GetWindowDC 和 GetDC,但它们的析构函数都是调 用 ReleaseDC 函数 2.3 CRect 类 常 用 的 成 员 函 数 成员函数功能说明 int Width( ) const;返回矩形的宽度int Height( ) const;返回矩形的高度CSize Size( ) const;返回矩形的大小,CSize 中的 cx 和 cy 成员分别 表示矩形的宽度和高度 CPoint返回矩形左下角的点坐标 CPoint返回矩形右下角的点坐标 CPoint CenterPoint(

9、 ) const;返回 CRect 的中点坐标 BOOL IsRectEmpty() const;如果一个矩形的宽度或高度是 0 或负值,则称 这个矩形为空,返回 TRUEBOOL IsRectNull() const;如果一个矩形的上、左、下和右边的值都等于 0,则返回 TRUE BOOL PtInRect( POINT point ) const;如果点 point 位于矩形中(包括点在矩形的边上), 则返回 TRUE void SetRect( int x1, int y1, int x2, int y2 );将矩形的各边设为指定的值,左上角点为(x1, y1),右下角点为(x2, y2

10、)void SetRectEmpty();将矩形的所有坐标设置为零 void NormalizeRect( );使矩形符合规范void OffsetRect( int x, int y ); void OffsetRect( POINT point ); void OffsetRect( SIZE size );移动矩形,水平和垂直移动量分别由 x、y 或 point、size 的两个成员来指定2.4、画笔和画刷画笔是 Windows 应用程序中用来绘制各种直线和曲线的一种图形工具, 它可分为修饰画笔和几何画笔两种类型。在这两种类型中,几何画笔的定义最 复杂,它不但有修饰画笔的属性,而且还跟画

11、刷的样式、阴影线类型有关,通 常用在对绘图有较高要求的场合。而修饰画笔只有简单的几种属性,通常用在 简单的直线和曲线等场合。一个修饰画笔通常具有宽度、风格和颜色三种属性。画笔的宽度用来确 定所画的线条宽度,它是用设备单位表示的。默认的画笔宽度是一个像素单位。 画笔的颜色确定了所画的线条颜色。画笔的风格确定了所绘图形的线型,它通 常有实线、虚线、点线、点划线、双点划线、不可见线和内框线等七种风格。 画刷用于指定填充的特性,许多窗口、控件以及其他区域都需要用画刷 进行填充绘制,它比画笔的内容更加丰富。画刷的属性通常包括填充色、填充图案和填充样式三种。画刷的填充色 和画笔颜色一样,都是使用 COLO

12、RREF 颜色类型,画刷的填充图案通常是用户定 义的 8 x 8 位图,而填充样式往往是 CDC 内部定义的一些特性,它们都是以 HS_为前缀的标识。3、图像处理图像处理 3.1、使用的 CDC 类的位图函数来输出图像。 BOOL StretchBit(int x,int y,int nWidth,int nHeight,CDC* pSrcDC,int xSrc,int ySrc,int nSrcWidth,int nSrcHeight,DWORD dwRop); x,y :表示目标矩形区域左上角的 x,y 坐标点; nWidth,nHeight:表示目标设备中绘制位图的宽度和高度; pSrc

13、DC :表示源设备上下文对象指针; xSrc,ySrc:表示源设备上下文的起点 x,y 轴坐标; nSrcWidth,nSrcHeight:表示需要复制的位图宽度和高度; dwRop:表示光栅操作代码。 COLORREF GetPixel( int x, int y ) const; /返回坐标点的颜色值。 COLORREF SetPixel( int x, int y, COLORREF crColor ); /设置的颜色值 BYTE GetRValue(DWORD rgb ); /获取一个颜色值的RGB各个分量:BYTE GetGValue(DWORD rgb ); BYTE GetBVa

14、lue(DWORD rgb ); 3.2、获取鼠标位置的颜色值 获取某一点的颜色只要得到当前鼠标的设备环境 CDC 类对象即可,因为 调用 CDC 类的 GetPixel 方法可获取某一点的颜色值。 VC 提供了三个宏,用于获取某一颜色的红、绿、蓝三基色。 1)GetRValue 宏 该宏用于获取指定颜色的红颜色值 2)GetGValue 宏 该宏用于获取指定颜色的绿颜色值 3)GetBValue 宏 该宏用于获取指定颜色的蓝颜色值BYTE GetRValue(DWORD rgb ); rgb 标识一个颜色值。返回值:指定颜色的红 色值。 BYTE GetGValue(DWORD rgb );

15、rgb 标识一个颜色值。返回值:指定颜色的绿色 值。 BYTE GetBValue(DWORD rgb );rgb 标识一个颜色值。返回值:指定颜色的蓝色 值。 3.3、GetPixel 和 SetPixel 介绍 1)GetPixel 方法 该方法用于获取某一点的颜色值。 语法:COLORREF GetPixel( int x, int y ) const;COLORREF GetPixel( POINT point ) const; 参数:x、y、point 标识坐标点。 返回值:坐标点的颜色值。 2)SetPixel 方法 该方法用于设置某一点的颜色值。 语法: COLORREF Set

16、Pixel( int x, int y, COLORREF crColor ); COLORREF SetPixel( POINT point, COLORREF crColor ); 参数 x、y、point 标识坐标点。crColor 标识设置的颜色值。 返回值:坐标点实际显示的颜色值。3.4、与位图相关的方法4 4、音频视频播放音频视频播放需要使用 WMP 控件来完成播放音频视频文件的功能。对话框中还要使用到列表框。列表框的部分函数如下:int AddString(LPCTSTR lpszItem); /添加列表项 int DeleteString(UINT nIndex); /删除列表项void GetText(int nIndex,CString/获取某列表项字符串 int GetCount(); /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号