




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、16.1多媒体基础1.声音机械振动或气流扰动引起周围弹性媒质发生波动,产生声波,再经过人类听觉器官的感知,便是声音。2声音要素声音的三个要素是音调、响度和音色。它们与声波的频率、声压和频谱结构对应 3音频的数字化计算机处理声音的第一步是将声音数字化,数字化就是将连续信号变成离散信号。首先在时间上离散,取有限个时间点,称为采样。然后在幅度上离散,取有限个幅度值,称为量化。再经过编码,将模拟信号变成数字信号。4数字音频的性能指标采样频率Nyquist定理3个常用的采样频率分别为11.025kHz 、22.05kHz和44.1kHz。分别对应AM广播、FM广播和CD高保真音质声音。5不同质量的声音的
2、性能指标 质量采样频率(kHz)样本精度(b)声道数据率(kb/s)频率范围(Hz)电话88单声道64.02003 400AM11.0258单声道88.250 7 000FM22.05016立体声705.62015 000CD44.116立体声1411.22020 000DAT4816立体声1536.02020 0006数字音频的性能指标样本精度:表示每个声音样本的二进制位数。也叫采样精度或量化位数。它反映度量声音波形幅度的精度。例如,每个声音样本用16位表示,则量化样本值在065535的整数范围内,它的精度是输入信号的1/65536。 数据传输率用每秒钟传输的数据位数表示:数据传输率(bit
3、s)= 采样频率(Hz)量化位数(bit)声道数7音频文件WAVE文件是一种通用的音频数据文件,文件扩展名为“WAV”,Windows系统和一般的音频卡都支持这种格式文件的生成、编辑和播放。 CD激光唱盘中包含的就是WAVE格式的波形数据,只是扩展名没写成“.WAV”。WAVE文件由三部分组成:文件头(WAVE,结构,大小)数字化参数(Hz,bit, Channel,Coding)波形数据(Data)8MP3文件是采用MP3算法压缩生成的数字音频数据文件,以“.MP3”为文件后缀。将音频信息用10:1甚至12:1的压缩率,变成容量较小的数据文件。Real Audio是Real networks
4、推出的一种音乐压缩格式,它的压缩比可达到96:1,支持流式播放,在网上比较流行。(ra,rm) 92.数字图像图像是客观景物通过视觉器官在人类头脑中的感知。f(x,y)fR(x,y), fG(x,y), fB(x,y), 图像的数字化:采样量化/整量10图像的分辨率 图像的属性之一是包含图像的像素数目(Pixel dimensions),它是指位图图像的宽度和高度方向上含有的像素数目。图像分辨率(Image resolution)指数字化图像的大小,以水平和垂直像素点数表示。 (图像尺寸)(屏幕分辨率、显示分辨率、打印分辨率、扫描分辨率) 11图像的深度图像深度(Image Depth)也称图
5、像的位深,是指描述图像中每个像素的数据所占的二进制位数。图像的每一个像素对应的数据通常可以是1位(bit)或多位,用于存放该像素的颜色、亮度等信息,数据位数越多,可以表达的颜色数目就越多。真彩色图像是指当R、G、B分量各用8位来表示一个像素的颜色值,此时可生成的颜色数是16777216种。 12矢量图和位图 矢量图主要用于工程图、白描图、卡通漫画等,这些图形可以分解为单个的线条、文字、圆、矩形、多边形等单个的图形元素。再用一个代数式来表达每个被分解出来的元素。位图图像,亦称为点阵图像,是由称作像素的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的
6、无数单个方块。 13灰度图和彩色图 图像可以分为灰度图(grayscale image)和彩色图(color image)。灰度图按照灰度等级的数目来划分。只有黑白两种颜色的图像称为单色图像如果灰度图每个像素的像素值用一个字节表示,灰度值级数就等于256级,每个像素可以是0255之间的任何一个值。彩色图像可以按照颜色的数目来划分,如256色图表示该图像中颜色的总数目不超过256种。 14颜色 自然界中的任何一种颜色都可以由R、G、B这3种颜色值之和来确定 :颜色R(红色的百分比)G(绿色的百分比) B(蓝色的百分比)真彩色图像用3个字节表示一个像素,记录该像素的颜色,分别表示红色分量的百分比,
7、绿色分量的百分比和蓝色分量的百分比15图像的文件格式 BMP(Bitmap-File)图像文件是Windows采用的图像文件格式 GIF(Graphics Interchange Format)文件最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图像或者是决定图像表现行为的控制块,用以实现动画和交互式应用。 JPEG是一个适用范围很广的静态图像数据压缩标准 16JPEG:联合摄影专家组JPEG 图片以 24 位颜色存储单个图像。JPEG 是与平台无关的格式,支持最高级别的压缩压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下轻松地压缩文件
8、,而图片质量不会下降。)JPEG 压缩可以很好地处理写实摄影作品。对于颜色较少、对比级别强烈、实心边框或纯色区域大的较简单的作品,JPEG 压缩无法提供理想的结果。有时,压缩比率会低到 5:1,严重损失了图片完整性。17JPEG图像优点:摄影作品或写实作品支持高级压缩。 利用可变的压缩比可以控制文件大小。 支持交错(对于渐近式 JPEG 文件)。 JPEG 广泛支持 Internet 标准。 缺点:有损耗压缩会使原始图片数据质量下降。 当您编辑和重新保存 JPEG 文件时,JPEG 会混合原始图片数据的质量下降。这种下降是累积性的。 JPEG 不适用于所含颜色很少、具有大块颜色相近的区域或亮度
9、差异十分明显的较简单的图片。18TIFF:标记图像文件格式TIFF 以任何颜色深度存储单个图像。被认为是印刷行业中受到支持最广的图形文件格式。TIFF 格式是可扩展的格式。程序员可以修改原始规范以添加功能或满足特定的需要。修改规范可能会导致不同类型的 TIFF 图片之间不兼容。优点:TIFF 是广泛支持的格式,尤其是在 Macintosh 计算机和基于 Windows 的计算机之间。 支持可选压缩。 可扩展格式支持许多可选功能。 缺点:TIFF 不受 Web 浏览器支持。 可扩展性会导致许多不同类型的 TIFF 图片。并不是所有 TIFF 文件都与所有支持基本 TIFF 标准的程序兼容。 19
10、6.2音频的播放与处理1.使用MCI播放音频Windows MCI(Media Control Interface)是Windows提供的控制多媒体设备的高层、通用的命令接口。它提供一组与设备无关的函数和命令,可有效地控制多媒体设备。 Windows采用两种MCI接口与MCI设备通信:一是使用命令消息接口函数,直接控制MCI设备;二是使用命令字符串接口函数,基于文本接口或命令脚本来控制MCI设备。 20命令消息接口使用消息控制MCI设备。标志的位向量以及数据结构的指针是带着消息发送的,这些标志和信息数据结构允许应用程序把信息发送到设备,并接收返回的数据。MCI把设备消息和信息直接发送到设备。命
11、令字符串接口使用文本命令控制MCI设备。文本串中包含执行一个命令所需的所有信息.不同之处在于它们的基本命令结构及其将消息发送到设备的原理不同。21(1)命令字符串接口函数mciSendStringMCIERROR mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndCallback)各参数含义如下:lpszCommand 指向以0结尾的MCI命令字符串。如: /打开01.wave波形文件 open c:music01.wave /播放mysound设备,从位置1000到20
12、00 play mysound from 1000 to 2000 notify22lpszReturnString 指向一个接受返回信息的缓冲区。如果不需要返回信息,可将该参数置为NULL。cchReturn 返回信息缓冲区的大小,以字节计算。hwndCallback 如果在命令参数中使用了notify,该参数指定回调的窗口句柄,否则为NULL。如果调用成功,该函数将返回0。mciSendString,23【例6-1】 使用命令字符串接口函数播放MP3文件。 #include#include#include#pragma comment(lib,winmm) /编译时链接int main()
13、char szReturn256;MCIERROR errorCode=mciSendString(play j:musiconlytoyou.mp3,szReturn,sizeof(szReturn),NULL);int i=0;for(;)coutNow Playing.ti+t secondendl;Sleep(1000);return 0;24(2)MCI命令消息接口函数mciSendCommandMCIERROR mciSendCommand(MCIDEVICEID IDDevice, UINT uMsg, DWORD fdwCommand, DWORD_PTR dwParam);参
14、数含义如下:IDDevice 接受命令消息的MCI设备的ID号。该参数不和MCI_OPEN命令消息一起使用。uMsg 命令消息。fdwCommand 命令消息的标志位。dwParam 指向包含命令消息参数结构的指针。 25【例6-2】使用命令消息接口函数播放wav文件。 #include#include#include#pragma comment(lib,winmm) /编译时链接int main()MCI_OPEN_PARMS openParms;openParms.lpstrDeviceType =waveaudio;openParms.lpstrElementName =j:music
15、rose.wav;MCIERROR errorCode=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_OPEN_TYPE,(DWORD)(LPMCI_OPEN_PARMS)&openParms);if(!errorCode)errorCode=mciSendCommand(openParms.wDeviceID ,MCI_PLAY,NULL,(DWORD)(LPMCI_OPEN_PARMS)&openParms);int i=0;for(;)coutNow Playing.ti+t secondSelectObject(&penRed);/
16、 恢复原来的画笔 pDC-SelectObject(pOldPen);画笔CPen39线型Value Meaning PS_SOLID The pen is solid. PS_DASH The pen is dashed. PS_DOT The pen is dotted. PS_DASHDOT The pen has alternating dashes and dots. PS_DASHDOTDOT The pen has dashes and double dots. PS_NULL The pen is invisible. PS_INSIDEFRAME 40CDC:SelectOb
17、ject()方法选定放入当前设备环境的新对象,并返回一个指向被替换对象的指针,因此,语句pOldPen = pDC-SelectObject(&penRed); 保存了原来的画笔。保存并恢复原来画笔的原因是,每个图形设备接口对象要占用一个HDC句柄,而可用的句柄数量是有限的,在使用完后要及时释放。41CBrush/蓝色画刷CBrush brushBlue(RGB(0,255,0);/透明画刷brushBlue.CreateStockObject (NULL_BRUSH);/选择画刷pDC-SelectObject (&brushBlue); 42画线 画线工作需经两步完成:首先确定线的起始端位
18、置,这可通过调用成员函数MoveTo完成,其原型为: CPoint MoveTo ( int x, int y );MoveTo将绘图位置移至指定坐标处,并返回移动前的绘图位置。确定了线的起点后,即可使用成员函数LineTo画线: BOOL LineTo ( int x, int y );43绘制矩形、椭圆绘制矩形的成员函数为:BOOL Rectangle(int x1,int y1,int x2, int y2 );绘制椭圆成员函数的原型为:BOOL Ellipse(int x1, int y1, int x2, int y2 ); 其参数为需要绘制的矩形的左上角坐标(x1, y1)和右下角
19、坐标(x2, y2)。44【例6-4】在窗口中随机的画了一些直线和其它几何形状。思路:建立MFC框架程序,在OnDraw中写出相应的绘图代码即可。452.显示位图 载入位图资源: BOOL LoadBitmap( LPCTSTR ResourceName );读位图信息: int GetBitmap( BITMAP* pBitMap ); 建立一合适的内存设备环境:CDC MemDC;MemDC. CreateCompatibleDC(NULL);并将位图选入该设备环境:MemDC.SelectObject(&m_Bitmap);46显示位图用CDC类的BitBlt( )成员函数从内存设备环境
20、中将位图复制到指定设备(如窗口或打印机)。BOOL BitBlt ( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );其中参数x,y为目标区左上角坐标,nWidth和nHeight分别为目标区的宽度和高度(逻辑坐标),pSrcDC为内存设备指针,xSrc和ySrc为原图中欲显示块左上角坐标,dwRop为复制方式,常用值为SRCCOPY,即按原样复制。47 【例6-5】显示一张位图文件(.BMP)。(1)创建MFC AppWizard(exe)工程 (2)在Resource
21、View视图中选择 Insert-Rescourse在弹出的对话框中选择Bitmap,单击Import,导入一幅位图,ID号为IDB_BITMAP148Insert-Resource49ID号设置50void CExamples06_05View:OnDraw(CDC* pDC)CExamples06_05Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here CBitmap m_Bitmap; int m_nHeight; int m_nWidth; m_Bitmap.Lo
22、adBitmap (IDB_BITMAP1); BITMAP BM; m_Bitmap.GetBitmap (&BM); m_nWidth=BM.bmWidth ; m_nHeight=BM.bmHeight ; CDC MemDC; MemDC.CreateCompatibleDC (NULL); MemDC.SelectObject (&m_Bitmap); pDC-BitBlt(0,0,m_nWidth,m_nHeight,&MemDC,0,0,SRCCOPY);51BITMAP Structuretypedef struct tagBITMAP /* bm */ int bmType; int bmWidth; int bmHeight; int bmWidthBytes; BYTE bmPlanes; BYTE bmBitsPixel; LPVOID bmBits; B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胶合板企业的投资效益分析考核试卷
- 灯具维修与故障排除技巧考核试卷
- 矿石提炼工艺中的安全措施考核试卷
- 《东坡易传》与青年读者的易学文化探索
- 2025网约车租赁合同模板
- 2025年度活动策划合同书模板
- 2025租房合同房屋转租协议书
- 宿迁市第一人民医院物业管理采购项目招标文件
- 素质教育概论题库(完全版答案)
- 全新电影演员合同
- 《消防器材使用教程》课件
- 《小儿静脉穿刺》课件
- DB11-T 212-2024 园林绿化工程施工及验收规范
- 托盘贸易合作合同范例
- 劳动节安全教育家长会
- 品类运营管理
- 用工单位与劳务派遣公司合同
- 我的家乡浙江衢州
- 国家开放大学国开电大《儿童心理学》形考任务+大作业答案
- 股骨下端骨折的临床特征
- 学前儿童卫生与保健-期末大作业:案例分析-国开-参考资料
评论
0/150
提交评论