实现过程: A、写入文件头B、写入信息头C、写入图像RGB数据 (无调色板) // 程序在VC6.0下实现: //保存buffer到bmp文件 //iWidth:图像宽; iHeight:图像高;pBuffer:图像RGB数据;filePath:存储路径;fileName:保存文件名;fileNum:保存文件编号 //SaveDIB2Bmp(100, "frame", "D://screenshot") bool MyDC::SaveDIB2Bmp(int fileNum, const char * fileName, const char * filePath, int iWidth, int iHeight, BYTE *pBuffer) { BITMAPINFOHEADER bih; ConstructBih(iWidth,iHeight,bih); BITMAPFILEHEADER bhh; ContructBhh(iWidth,iHeight,bhh); TCHAR BMPFileName[1024]; int widthStep = (((iWidth * 24) + 31) & (~31)) / 8 ; //每行实际占用的大小(每行都被填充到一个4字节边界) int DIBSize = widthStep * iHeight ; //buffer的大小 (字节为单位) //save char path[1024]; char str[1024]; sprintf(str,"%d",fileNum); strcat(str,