多媒体编程基础

多媒体编程基础

ID:45773413

大小:232.63 KB

页数:24页

时间:2019-11-17

多媒体编程基础_第1页
多媒体编程基础_第2页
多媒体编程基础_第3页
多媒体编程基础_第4页
多媒体编程基础_第5页
资源描述:

《多媒体编程基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第六章多媒体编程基础6・1多媒体文件多媒体文件一般被称为RIFF文件,即资源交互文件格式(Resourceinterchangefileformat)oRIFF格式是血向部分(Chunk)的。一个RIFF文件是由一个或多个部分组成的,每个部分都有一个类型,后面跟着一些数据。typedefstruct{FOURCCckID;〃4字符字段,标志类型(比如波形音频为WAVE)DWORDcksize;〃部分】11数据的大小}CK;MFC为处理RIFF文件专门提供了一套多媒体I/O函数,这些函数都有丽缀mmioo比如mmioOpen是打开RIFF文件,mmioDesce

2、nd可以进入RIFF文件的部分。HMMIOh;CStringpath;If((h=mmioOpen(path,NULL,MMIO_READ))==NULL)returnFALSEIf(mmioRead(h,&dataformat,(long)n)!=(long)n){mmioClose(h,0);returnFALSE;}WAV文件开始是46个字节的文件头,之后是波形数据。文件头如下:Typedefstruct{DWORDrftype;DWORDwbSize;DWORDwftype;DWORDftype;DWORDBlockSize;〃固定为字符吊“RIFF,

3、〃波形块的大小//wav件标志,固定为字符串“WAVE”〃固定为字符串“fmt”〃格式块的大小WORDwFormatTag;〃记录波形编码格式。为WAVE_FORMAT_PCMWORDnChannels;〃记录波形文件数据屮的通道数DWORDnSamplesPerSec;〃记录波形文件的采样率DWORDnAvgBytesPerSec;//平均每秒波形咅频数据所需要的字节数DWORDnBlockAlign;〃记录一个采样所需要的字节数WORDwBitsPerSample;〃每个采样的位数DWORDdataflag;DWORDfSize;〃固定为字符串“data”

4、〃波形文件大小}PCMWAVEFORMAT;BMP文件开始通常依次是14字节的文件头,40字节的位图信息,颜色表(真彩位图没有),最后是图像数据,对于用到调色板的位图,实际的图象数据ImageDate为该象素的颜色在调色板屮的索引值;对丁•真彩色图,图彖数据则为实际的R、G、B值。位图数据毎一行的字节数必须为4的整倍数,如果不是,则需要补齐;位图文件屮的数据是从下到上(而不是从上到下)、从左到右方式存储的。图像数据或者不压缩,或者使用RLE压缩。文件头如下:typedefstructtagBITMAPFILEHEADER{WORDbftype;DWORDbfs

5、ize;WORDbtReserved1;WORDbfReserved2;//固定为字符串//字节为单位的位图文件大小//位图文件保留字,必须为0//位图文件保留字,必须为0DWORDbfoffBits;}BITMAPFILEHEADER;//指出图像数据针对文件头的偏移量typedefstructtagBITMAPINFOHEADER{DWORDbiSize;〃本结构的长度,为40LONGbiWidth;〃图象的宽度,单位是象素LONGbiHeight;//图象的高度,单位是象素WORDbiPlanes;〃必须是1WORDbiBitCount;〃表示颜色时耍用

6、到的位数,1(单色),4(16色),8(256色),24(真彩色)DWORDbiCompression;〃指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS等,BI.RGB表示不压缩DWORDbiSizeimage;〃实际的位图数据占用的字节数,即biSizeImage=biWidth,XbiHeight,biWidthsbiWidth按照4的整倍数调整后的结果LONGbiXPelsPerMeter;〃口标设备的水平分辨率,单-位是每米的象素个数LONGbiYPelsPerMeter;〃目标设备的垂直分辨率,单位

7、是每米的象索个数DWORDbiClrUsed;〃位图实际用到的颜色数,()表示颜色数为2biBitCountDWORDbiClrlmportant;〃位图屮重要的颜色数,0表示所有颜色都重要}BITMAPINFOHEADER;调色板Palette针对的是需要调色板的位图,即单色、16色和256色位图。对于不以调色板方式存储的位图,则无此项信息。调色板是一个数组,共冇biClrUsed个元素(如果该值为(),则有2biBitCount个元素)。数组中每个元素是一个RGBQUAD结构体,长度为4个字节,定义为:typedefstructtagRGBQUAD{BYT

8、ErgbBlue;//蓝色分量BYTE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。