GetBitmapBits 以及 SetBitmapBits的用法

HBITMAP hCaptureBitmap = CopyScreenToBitmap(0, 1024,0, 768);
CBitmap*   pBmp   =   CBitmap::FromHandle(hCaptureBitmap);
int Count;
BITMAP bm;    
pBmp->GetObject(sizeof(bm),&bm);
Count = bm.bmWidthBytes * bm.bmHeight; //得到buf大小
BYTE *b=new BYTE[Count];
pBmp->GetBitmapBits(Count,b);

HDC hdc=::GetDC(m_hWnd);//
HDC mdc=CreateCompatibleDC(hdc);
HBITMAP MyBit=CreateCompatibleBitmap(hdc,1024,768);
SetBitmapBits(MyBit,Count,b);
SelectObject(mdc,MyBit);
BitBlt(hdc,0,0,1024,768,mdc,0,0,SRCCOPY);
::ReleaseDC(m_hWnd,hdc);
DeleteObject((HGDIOBJ)mdc);
delete [Count] b;

你可能感兴趣的:(bitmap)