BitBlt功能执行与从指定源设备上下文到目标设备上下文的像素矩形相对应的颜色数据的位块传输。
BOOL BitBlt(
HDC 【hdcDest】, | //处理目标设备上下文 |
INT 【nXDest】, | //目标矩形左上角的x坐标 |
INT 【nYDest】, | //目标矩形左上角的y坐标 |
INT 【nWidth】, | //目标矩形的宽度 |
INT 【nHeight参数】, | //目标矩形的高度 |
HDC 【hdcSrc】, | //处理源设备上下文 |
INT 【nXSrc】, | //源头矩形左上角的x坐标 |
INT 【nYSrc】, | //源矩形左上角的y坐标 |
DWORD 【dwRop】 | //光栅操作码 |
); |
参数
【hdcDest】
标识目标设备上下文。
【nXDest】
指定目标矩形左上角的逻辑x坐标。
【nYDest】
指定目标矩形左上角的逻辑y坐标。
【nWidth】
指定源和目标矩形的逻辑宽度。
【nHeight参数】
指定源和目标矩形的逻辑高度。
【hdcSrc】
标识源设备上下文。
【nXSrc】
指定源矩形左上角的逻辑x坐标。
【nYSrc】
指定源矩形左上角的逻辑y坐标。
【dwRop】
指定光栅操作代码。这些代码定义了如何将源矩形的颜色数据与目标矩形的颜色数据组合以实现最终颜色。
以下列表显示了一些常见的栅格操作代码:
值 | 描述 |
BLACKNESS | 使用物理调色板中与索引0相关联的颜色填充目标矩形。(默认的物理色板为此颜色为黑色) |
DSTINVERT | 反转目的矩形。 |
MERGECOPY | 通过使用布尔AND运算符将源矩形的颜色与指定的模式合并。 |
MERGEPAINT | 使用布尔OR运算符将反向源矩形的颜色与目标矩形的颜色合并。 |
NOTSRCCOPY | 将反向的源矩形复制到目的地。 |
NOTSRCERASE | 使用布尔OR运算符组合源和目标矩形的颜色,然后反转所得颜色。 |
PATCOPY | 将指定的模式复制到目标位图中。 |
PATINVERT | 通过使用布尔XOR运算符将指定图案的颜色与目标矩形的颜色相结合。 |
PATPAINT | 使用布尔OR运算符将图案的颜色与反向的源矩形的颜色相结合。此操作的结果与使用布尔OR运算符的目标矩形的颜色组合。 |
SRCAND | 使用布尔AND运算符组合源和目标矩形的颜色。 |
SRCCOPY | 将源矩形直接复制到目标矩形。 |
SRCERASE | 使用布尔AND运算符将目标矩形的反转颜色与源矩形的颜色组合。 |
SRCINVERT | 通过使用布尔XOR运算符组合源和目标矩形的颜色。 |
SRCPAINT | 通过使用布尔OR运算符组合源和目标矩形的颜色。 |
WHITENESS | 使用物理调色板中与索引1相关联的颜色填充目标矩形。(该颜色对于默认的物理调色板为白色。) |
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果旋转或剪切变换在源设备上下文中有效,则BitBlt返回错误。如果在源设备上下文中存在其他变换(并且目标设备上下文中的匹配变换为【不】),则目标设备上下文中的矩形必要时被拉伸,压缩或旋转。
如果源和目标设备上下文的颜色格式不匹配,则BitBlt函数将源颜色格式转换为匹配目标格式。
当记录增强的图元文件时,如果源设备上下文识别增强的图元文件设备上下文,则会发生错误。
并非所有设备都支持BitBlt功能。有关详细信息,请参阅GetDeviceCaps中的RC_BITBLT光栅功能条目。
如果源设备和目标设备上下文代表不同的设备,BitBlt返回错误。
也可以看看