在linux下讀取bmp文件頭的完整代碼。 2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀 睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 呵呵,貼在這里記錄一下。 [cpp] view plaincopy #include<stdio.h> #include<string.h> #include<sys/types.h> #include <iostream> #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<<"位圖文件頭:"<<endl; cout<<"文件頭類型:"<<pBmpHead.bfType<<endl; cout<<"文件大小:"<<pBmpHead.bfSize<<endl; cout<<"保留字_1:"<<pBmpHead.bfReserved1<<endl; cout<<"保留字_2:"<<pBmpHead.bfReserved2<<endl; cout<<"實際位圖數據的偏移字節數:"<<pBmpHead.bfOffBits<<endl<<endl; } void showBmpInforHead(BITMAPINFODEADER &pBmpInforHead){ cout<<"位圖信息頭:"<<endl; cout<<"結構體的長度:"<<pBmpInforHead.biSize<<endl; cout<<"位圖寬:"<<pBmpInforHead.biWidth<<endl; cout<<"位圖高:"<<pBmpInforHead.biHeight<<endl; cout<<"biPlanes平面數:"<<pBmpInforHead.biPlanes<<endl; cout<<"biBitCount采用顏色位數:"<<pBmpInforHead.biBitCount<<endl; cout<<"壓縮方式:"<<pBmpInforHead.biCompression<<endl; cout<<"biSizeImage實際位圖數據占用的字節數:"<<pBmpInforHead.biSizeImage<<endl; cout<<"X方向分辨率:"<<pBmpInforHead.biXPelsPerMeter<<endl; cout<<"Y方向分辨率:"<<pBmpInforHead.biYPelsPerMeter<<endl; cout<<"使用的顏色數:"<<pBmpInforHead.biClrUsed<<endl; cout<<"重要顏色數:"<<pBmpInforHead.biClrImportant<<endl; } 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<<sizeof(BITMAPFILEHEADER)<<endl; cout<<sizeof(BITMAPINFODEADER)<<endl; fclose(fp); return 0; } RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成