用C++读取、修改和保存位图 该示例用C++读取、修改位图,通过它我们可以了解位图的文件结构,对图像处理的理解很有帮助
下面是全部的源码: #include #include #include /***********************变量的定义***********************************/ unsigned char* pBmpBuf; //读入图像数据的指针 int bmpWidth; //图像的宽度 int bmpHeight; //图像的高度 RGBQUAD* pColorTable; //颜色表指针 int biBitCount; //图像类型,像素位数 /**************************************************************************** 读取图像的位图数据、宽度、高度、颜色表及像素位数,并存放在全局变量中 *****************************************************************************/ bool readBmp(char* bmpName) { FILE* fp = fopen(bmpName,"rb"); //以二进制读的方式打开指定的图像文件 if(fp == 0) return 0; //跳过位图文件头 fseek(fp,sizeof(BITMAPFILEHEADER),0); //定义位图信息头结构变量,读取位图信息头进内存,存放在变量 infoHead 中 BITMAPINFOHEADER infoHead; fread(&infoHead,sizeof(BITMAPINFOHEADER),1,fp); bmpWidth = infoHead
biWidth; bmpHeigh