功能在hdcDest中绘制位图
获取桌面代码:
CDC *pdeskdc = GetDesktopWindow()->GetDC();
CRect re;
//获取窗口的大小
GetDesktopWindow()->GetClientRect(&re);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pdeskdc , re.Width(), re.Height());
//创建一个兼容的内存画板
CDC memorydc;
memorydc.CreateCompatibleDC(pdeskdc);
//选中画笔
CBitmap *pold = memorydc.SelectObject(&bmp);
//绘制图像
memorydc.BitBlt(0,0,re.Width(),re.Height(), pdeskdc , 0 ,0 ,SRCCOPY);
memorydc.SelectObject(pold);
BOOL BitBlt(
HDC hdcDest,
int nXDest, int nYDest, int nWidth, int nHeight,
HDC hdcSrc,
int nXSrc, int nYSrc,
DWORD dwRop);
参数:
hdcDest:指向目标设备环境的句柄。
nXDest、nYDest:指定目标矩形区域左上角的X轴和Y轴逻辑坐标
nWidth、nHeight:指定源和目标矩形区域的逻辑宽度和逻辑高度。
hdcSrc:指向源设备环境的句柄。
nXSrc、nYSrc:指定源矩形区域左上角的X轴和Y轴逻辑坐标。
dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。下面列出了一些常见的光栅操作代码:
API文档有说明。
BLACKNESS 用黑色填充目标矩形区域.
DSTINVERT 将目标矩形图象进行反相.
MERGECOPY 将源矩形图象与指定的图案刷(Pattern)进行布尔"与"运算.
MERGEPAINT 将源矩形图形经过反相后,与目标矩形图象进行布尔"或"运算.
NOTSRCCOPY 将源矩形图象经过反相后,复制到目标矩形上.
NOTSRCERASE 先将源矩形图象与目标矩形图象进行布尔"或"运算,然后再将得图象进行反相.
PATCOPY 将指定的图案刷复制到目标矩形上.
PATINVERT 将指定的图案刷与目标矩形图象进行布尔"异或"运算.
PATPAINT 先将源矩形图象进行反相,与指定的图案刷进行布尔"或"运算,再与目标矩形图象进行布尔"或"运算SRCAND 将源矩形图象与目标矩形图象进行布尔"与"运算.
SRCCOPY 将源矩形图象直接复制到目标矩形上.
SRCERASE 将目标矩形图象进行反相,再与源矩形图象进行布尔"与"运算.
SRCINVERT 将源矩形图象与目标矩形图象进行布尔"异或"运算.
SRCPAINT 将源矩形图象与目标矩形图象进行布尔"或"运算.
WHITENESS 用白色填充目标矩形区域.