下载此文档

【C】WAV BMP文件读取 程序报告.doc


文档分类: | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
数字媒体认识实践报告
功能描述
:文件头数据读取
>> 输入文件名或存储路径,判断格式,若为WAV或BMP,。
:(只支持24位BMP文件)
(1)图像裁剪:
>> 可选择裁剪图像的上半部分或左半部分。
(2)添加水印:
>> 可选择三种预设颜色:粉、绿、黄。
或自定义颜色。
>> 水印为 5px边框及左下角猫爪图案
>> 可重复选择。
水印:粉色边框和左下角猫爪
知识运用
:
数据结构体为WAVEFORMATEX,可以用fread()函数读取文件头的完整数据。
实验所要求的几个数据在结构体中分别是:
nChannels(声道数);nSamplesPerSec(采样率);wBitsPerSample(采样位数)
验证是否为WAV:从08H起读四个char,能得到’W’, ’A’, ’V’,’ E’;
:
因为时间关系,选择了着重处理BMP文件
【位图文件头】结构体为BITMAPFILEHEADER
【位图信息头】结构体为BITMAPINFOHEADER
主要用到了:biWidth(宽度); biHeight(高度);biBitCount(像素位数)
【颜色表】因为只处理了24位图,这部分略过...
【像素数据】本程序对此部分进行了大量处理。
当biHeight为正值时,数据为从下至上逐行读取;而对于24位BMP,每个像素所占空间为3字节(每字节分别代表R、G、B的数值)。因此在进行处理时,只要计算出需要处理的像素位置即可。
< 平时做音乐后期时的人声波形>
两段之间连续的高频率波形是齿音s
放大后能看到等距离分布的采样点
将以上所有数据依次读入后,再按次序写入新文件,就能生成可执行的BMP文件。
程序模块
包含三个源文件:
“”
“”
“”
(主要函数调用关系见右图→)
””
void main( ):
起始的菜单,按1、2、3(直接按键,不用输回车)分别调用viewData(), BMClip( ), BMPaw( )进入三种功能,功能运行完毕后返回菜单,按0退出程序(return)
“”
int trans(unsigned char * ch, int a, int n):
解析数据。将ch中偏移量为a,长度为n字节的无符号字符读取为十进制整型数。
(功能类似fread( )、( ))
void viewData( ):
输入文件名或路径,判断文件格式:
若08H处为WAVE字符串则判定为WAV文件,若00H处为BM则判定为BMP文件,针对文件格式分别调用trans( )读取数据,显示在屏幕上并存入””。
若文件不存在则提示重新输入。
若文件存在但格式错误,则提示格式无法读取。
结束后按任意键return。
“”
基础函数:
bool openBmp(char * bmpName):
判断文件格式。为2

【C】WAV BMP文件读取 程序报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人86979448
  • 文件大小1.81 MB
  • 时间2018-03-19