只知道有这样一个结构体bitmapinfoheader
bitmapinfoheader 

解决方案 »

  1.   

    CBitmap bm;
    //..此处加载位图文件
    BITMAP bmp;
    bm.GetBitmap(&bmp);
      

  2.   

    建议你先找一本图像处理的书,或者干脆一本讲windows gdi里面位图的书大概看一下原理。
      

  3.   

    呵呵,不是在耍大家吧?都知道这个结构体了还问?
    一、BMP文件结构     
    1.   BMP文件组成     
    BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。     
    2.   BMP文件头         
    BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。         
    其结构定义如下:         
      typedef   struct   tagBITMAPFILEHEADER   
      {   
      WORDbfType;       //   位图文件的类型,必须为BM   
      DWORD       bfSize;       //   位图文件的大小,以字节为单位   
      WORDbfReserved1;     //   位图文件保留字,必须为0   
      WORDbfReserved2;     //   位图文件保留字,必须为0   
      DWORD       bfOffBits;   //   位图数据的起始位置,以相对于位图   
      //   文件头的偏移量表示,以字节为单位   
      }   BITMAPFILEHEADER;   
        
    3.   位图信息头     
      BMP位图信息头数据用于说明位图的尺寸等信息。   
      typedef   struct   tagBITMAPINFOHEADER{   
            DWORD     biSize;  //   本结构所占用字节数   
            LONGbiWidth;       //   位图的宽度,以像素为单位   
            LONGbiHeight;      //   位图的高度,以像素为单位   
            WORD       biPlanes;   //   目标设备的级别,必须为1   
            WORD       biBitCount; //   每个像素所需的位数,必须是1(双色),   
                                   //   4(16色),8(256色)或24(真彩色)之一   
            DWORD     biCompression;  //   位图压缩类型,必须是   0(不压缩),   
                                      //   1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一   
            DWORD     biSizeImage;    //   位图的大小,以字节为单位   
            LONGbiXPelsPerMeter;      //   位图水平分辨率,每米像素数   
            LONGbiYPelsPerMeter;      //   位图垂直分辨率,每米像素数   
            DWORD     biClrUsed;      //   位图实际使用的颜色表中的颜色数   
            DWORD     biClrImportant; //   位图显示过程中重要的颜色数   
      }   BITMAPINFOHEADER;   
        用C语言的文件操作,按照顺序把这两部分数据读出来就知道了 。
      

  4.   

    那帮忙看看为什么读不出来。         HANDLE hFile;
     BITMAPFILEHEADER bmpfheader;
     BITMAPINFOHEADER bmpiheader;
     DWORD nBytesRead;  hFile=CreateFile("F:\vc\ReadBmp\Debug\SmallIcon.bmp",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     ReadFile(hFile,&bmpfheader,sizeof(BITMAPFILEHEADER),&nBytesRead,NULL);
     ReadFile(hFile,&bmpiheader,sizeof(BITMAPINFOHEADER),&nBytesRead,NULL);
     unsigned long width=bmpiheader.biWidth;
     CloseHandle(hFile);我想获得图片的长度,怎么读不出来呢?