建议先了解下BMP图片格式.
条件:
1.用windows画图工具另存的一张BMP格式图片;
2.linux或ubuntu下vim编译器
#include
#include
#include
#include
#pragma pack(2) //对齐
using namespace std;
typedef struct BITMAPFILEHEADER
{
u_int16_t bfType;
u_int32_t bfSize;
u_int16_t bfReserved1;
u_int16_t bfReserved2;
u_int32_t bfOffBits;
}BITMAPFILEHEADER;
typedef struct BITMAPINFOHEADER
{
u_int32_t biSize;
u_int32_t biWidth;
u_int32_t biHeight;
u_int16_t biPlanes;
u_int16_t biBitCount;
u_int32_t biCompression;
u_int32_t biSizeImage;
u_int32_t biXPelsPerMeter;
u_int32_t biYPelsPerMeter;
u_int32_t biClrUsed;
u_int32_t biClrImportant;
}BITMAPINFODEADER;
void showBmpHead(BITMAPFILEHEADER &pBmpHead){
cout<
cout<
cout<
cout<
cout<
cout<
}
void showBmpInforHead(BITMAPINFODEADER &pBmpInforHead){
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
}
int main( int argc, char *argv[] )
{
FILE *fp = fopen(argv[1], "rb");
BITMAPFILEHEADER head;
BITMAPINFODEADER info;
fread(&head, 1, sizeof(BITMAPFILEHEADER), fp);
fread(&info, 1, sizeof(BITMAPINFODEADER), fp);
showBmpHead(head);
showBmpInforHead(info);
cout<
fclose(fp);
return 0;
}