
filter.c
*/
#include #include /* 定义头文件型 */ typedef struct { unsigned char id1,id2;//图片文件类型; unsigned int filesize;//文件总大小; unsigned int reserved;//保留,置零; unsigned int bitmapdataoffset;// unsigned int bitmapheadersize;//头文件数据大小; unsigned int width;//图片宽度; unsigned int height;//图片高度; unsigned short planes;//图片位面数; unsigned short bitperpixel;//每像素比特数; unsigned int compression;//是否压缩; unsigned int bitmapdatasize;//图片数据大小; unsigned int hresolution;//水平分辨率; unsigned int vresolution;//垂直分辨率; unsigned int colors;//颜色数; unsigned int importantcolors;//重要颜色数: unsigned char palette[256][4];//调色板; unsigned char bitmapdata[256][256];//图片数据; }BMPheaderfile; /* 用于获取文件长度的函数 */ long getfilesize(FILE* f) { long pos,len; pos=ftell(f); fseek(f,0,SEEK_END); len=ftell(f); fseek(f,pos,SEEK_SET); return len; } /* 主函数 */ void main() { FILE* fpr;//读文件指针; FILE* fpw;//写文件指针; BMPheaderfile BMPheader;//头文件型变量; unsigned char* data;//读取到的数据; unsigned char* buffer;//数据缓存; int i,j; int h,w; unsigned char num[5]; unsigned char t; long length;//文件长度; long position;//用于察看指针所在位置; /* 打开文件 */ if((fpr=fopen("girl2.bmp BMPheader.compression=*(int*)buffer; printf("compression %d\
