PlgBlt功能执行将源设备上下文中指定矩形的颜色数据位的位块传输到目标设备上下文中指定的平行四边形。如果给定的位掩码句柄识别有效的单色位图,则该函数使用该位图来屏蔽源矩形中颜色数据的位。
BOOL PlgBlt(
HDC 【hdcDest】, | //处理目标设备上下文 |
CONST POINT *【LPPOINT】, | //目的地平行四边形的顶点 |
HDC 【hdcSrc】, | //处理源设备上下文 |
INT 【nXSrc】, | // x-coord。源矩形左上角。 |
INT 【nYSrc】, | //的y坐标。源矩形左上角。 |
INT 【nWidth】, | //源矩形的宽度 |
INT 【nHeight参数】, | //源矩形的高度 |
HBITMAP 【hbmMask】, | //处理位掩码 |
INT 【xMask】, | // x-coord。位图的左上角直角。 |
INT 【yMask】 | //的y坐标。位图的左上角直角。 |
); |
参数
【hdcDest】
标识目标设备上下文。
【LPPOINT】
指向逻辑空间中的三个点的数组,其中标识目标平行四边形的三个角。源矩形的左上角被映射到该数组中的第一个点,右上角到该数组中的第二个点,左下角到第三个点。源矩形的右下角映射到平行四边形中的隐含第四点。
【hdcSrc】
标识源设备上下文。
【nXSrc】
指定源矩形左上角的x坐标(以逻辑为单位)。
【nYSrc】
指定源矩形左上角的y坐标(以逻辑为单位)。
【nWidth】
指定源矩形的宽度(以逻辑为单位)。
【nHeight参数】
指定源矩形的高度(以逻辑为单位)。
【hbmMask】
标识用于屏蔽源矩形颜色的可选单色位图。
【xMask】
指定单色位图左上角的x坐标。
【yMask】
指定单色位图左上角的y坐标。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
The fourth vertex of the parallelogram (【D】) is defined by treating the first three points (【A】, 【B】, and 【C】) as vectors and computing 【D】 = 【B】 + 【C】 - 【A】.
如果位掩码存在,掩码中的值1表示源像素颜色应该被复制到目标。掩码中的值为0表示目标像素颜色不被改变。
如果掩码矩形小于源和目标矩形,则该函数将复制掩码图案。
在源设备上下文中允许进行缩放,翻译和反射转换;然而,旋转和剪切转换不是。
如果掩码位图不是单色位图,则会发生错误。
目的设备上下文的拉伸模式用于确定如何拉伸或压缩像素,如果需要的话。
当记录增强的图元文件时,如果源设备上下文识别增强的图元文件设备上下文,则会发生错误。
目标坐标根据目标设备上下文进行变换;根据源设备上下文对源坐标进行变换。如果源转换具有旋转或剪切,则返回错误。
如果目标和源矩形不具有相同的颜色格式,PlgBlt将源矩形转换为匹配目标矩形。
并非所有设备都支持PlgBlt功能。有关详细信息,请参阅GetDeviceCaps功能中的RC_BITBLT栅格功能的说明。
如果源和目标设备上下文表示不兼容的设备,PlgBlt将返回错误。
也可以看看
BitBlt, GetDeviceCaps, MaskBlt, SetStretchBltMode, StretchBlt