谢谢

解决方案 »

  1.   

    打开位图文件。获取BITMAPINFOHEADER。
      

  2.   

    bmp头文件BITMAPINFOHEADER
    中有图片长宽的信息!
      

  3.   

    HBITMAP hBitmap=LoadBitmap(...);
    BITMAP bm;
    GetObject(hBitmap,sizeof(bm),&bm);
    typedef struct tagBITMAP {
      LONG   bmType; 
      LONG   bmWidth; //Bitmap's Width
      LONG   bmHeight; //Bitmap's Height
      LONG   bmWidthBytes; 
      WORD   bmPlanes; 
      WORD   bmBitsPixel; 
      LPVOID bmBits; 
    } BITMAP, *PBITMAP; 
    //这是内存中的位图的方法,如果是文件的,就要打开文件,读取BITMAPINFOHEADER
      

  4.   

    CBitmap m_bmp;
    HBITMAP hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), 
    "aaa.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);//打开图像


    if( hbmp == NULL ) 
    return FALSE;

    m_bmp.Attach( hbmp ); DIBSECTION ds;
    BITMAPINFOHEADER &bminfo = ds.dsBmih; 
    m_bmp.GetObject( sizeof(ds), &ds );


    int cx=bminfo.biWidth;//得到宽
    int cy=bminfo.biHeight;//得到高