CopyBitmap

HBITMAP CopyBitmap( HBITMAP hbm)
{
    HDC hdcSrc = CreateCompatibleDC(NULL);
    HDC hdcDst = CreateCompatibleDC(NULL);
    HBITMAP hbmOld, hbmOld2, hbmNew;
    BITMAP bm;
    GetObject(hbm, sizeof(bm), &bm);
 //得到屏幕位圖的句柄 hbmOld
    hbmOld = (HBITMAP)SelectObject(hdcSrc, hbm);
    hbmNew = CreateBitmap( bm.bmWidth, bm.bmHeight, bm.bmPlanes,
  bm.bmBitsPixel,
  NULL);
 //得到屏幕位圖的句柄 hbmOld2
    hbmOld2 = (HBITMAP)SelectObject(hdcDst, hbmNew);
 // 把屏幕設備描述表拷貝到內存設備描述表中
    BitBlt(hdcDst, 0, 0, bm.bmWidth, bm.bmHeight, hdcSrc, 0, 0, SRCCOPY);
    SelectObject(hdcSrc, hbmOld);
    DeleteDC(hdcSrc);
    DeleteDC(hdcDst);
    return hbmNew;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章