byte * bitmapBuf = (byte *)GlobalAlloc(GPTR, bm.bmWidth *bm.bmHeight*4 );  long a = GetBitmapBits((HBITMAP)pbitmap->m_hObject ,bitmapsize,bitmapBuf);
比如这位图是保存在bitmapBuf里的

解决方案 »

  1.   

    或者说位图放在位图对象里CBitmap bitmap;能用CreateBitmap跟bitblt来把32位位图转为单色的吗
      

  2.   

    看一下位图结构,如果从RGB转到二值,那么可能要添加调色板(原先没有的话),或者修改调色板。位图头的内容也要做相应修改~~~知道了结构以后就很简单的~
      

  3.   

    可以用bitblt转换。不过只能选出一种颜色,和二值化效果不同