关于CBitmap类中的GetBitmapBits()函数,该函数是获取位图数据信息,但是我通过读取位图文件,已获取BITMAPINFO,BITMAPINFOHEADER,位图数据,然后创建了一个HBITMAP,再通过CBitmap类中的GetBitmapBits()函数获取位图数据和读取文件获取的位图数据不一样,这是为什么?

解决方案 »

  1.   

    用GetBitmap里面的那个BITMAP,这里面的数据是正确的
      

  2.   

    可以使用 GetBitmap(BITMAP* bm),将数据写入到BITMAP结构体中,但不能获得位图的颜色数据,必要使用 GetBitmapbits来获得颜色数据,或索引值——————————这是我在网上查的资料
    我自己也试过 用GetObject(hbitmap,sizeof(BITMAP),(LPBYTE)bmp);
    但是运行结果是:bmBits 0x00000000 void *   这里没有位图数据  
      

  3.   

    GetDIBits( pDC->m_hDC, hbitmap, 0, (UINT)bmih->biHeight, lpd,
    (LPBITMAPINFO)pdb, DIB_RGB_COLORS);可以使用这个获取位图数据,但是我显示之后发现失真。