bmp文件的处理示例 bmp文件的处理示例 cerro"Can not B 1COLOR anr main cour<<"This is NOT a bitmap filalI\n: bmp文件的处理示例 bmp文件的处理示例 NFOHEADER bitmapInfoHeader, ■处理结果 D(BITMAPINHEADER] nfoH leader, biHleightbitmapInfoHeader biW ithi++)5 bmp文件的处理示例 #include<iostream> #include<fstream> #include<windows.h> using namespace std; typedef struct mycolor { char r; char g; char b; }COLOR; int main() { BITMAPFILEHEADER bitmapFileHeader; memset(&bitmapFileHeader,0,sizeof(BITMAPFILEHEADER)); fstream fs("test.bmp",ios_base::in|ios_base::out|ios_base::binary); bmp文件的处理示例 if(!fs) { cerr<<"Can not open the file\n"<<endl; return -1; } fs.read((char*)&bitmapFileHeader,sizeof(BITMAPFILEHEADER)); if(0x4d42==bitmapFileHeader.bfType) cout<<"This is a bitmap file\n"; else { cout<<"This is NOT a bitmap file!!\n"; fs.close(); return -1; } bmp文件的处理示例 BITMAPINFOHEADER bitmapInfoHeader; memset(&bitmapInfoHeader,0,sizeof(BITMAPINFOHEADER)); fs.read((char*)&bitmapInfoHeader,sizeof(BITMAPINFOHEADER)); cout<<dec<<"the bit of color is" <<bitmapInfoHeader.biBitCount<<endl; fs.seekp(bitmapFileHeader.bfOffBits,ios_base::beg); COLOR c; c.r=0x80; c.g=0x80; c.b=0x00; for(int i=0;i<bitmapInfoHeader.biHeight*bitmapInfoHeader.biWidth;i++) fs<<c.b<<c.g<<c.r; fs.close(); } bmp文件的处理示例 处理结果