CDC::MaskBlt
使用给定的掩码和光栅操作,将颜色数据进行源和目标位图。
BOOL MaskBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
CBitmap& maskBitmap,
int xMask,
int yMask,
DWORD dwRop
);
参数
x
指定目标矩形的左上角的逻辑x坐标。y
指定目标矩形的左上角的逻辑y坐标。nWidth
在逻辑单位指定宽度,中,目标矩形和源位图。nHeight
在逻辑单位指定该高度,中,目标矩形和源位图。pSrcDC
标识位图要复制的设备上下文。 它必须为零,如果 dwRop 参数指定不包括一个源的光栅操作。xSrc
指定源位图的左上角的逻辑x坐标。ySrc
指定源位图的左上角的逻辑y坐标。maskBitmap
在源设备上下文标识纯色掩码位图将与颜色位图。xMask
为 maskBitmap 参数指定的掩码位图指定级别的像素偏移量。yMask
为 maskBitmap 参数指定的掩码位图指定垂直像素偏移量。dwRop
指定前台和后台三元光栅操作代码,该函数使用控件的源文件和目标数据的组合。 背景光栅操作代码此值的高位字中。的高位字节存储;前景光栅操作代码此值的高位字中。的低字节存储;此值的低运行会被忽略,并且应为零。 宏 MAKEROP4 创建前景色和背景光栅操作代码这样的组合。 有关前景色和背景的讨论请参见"备注"部分此函数中。 为常见光栅操作代码列表参见 BitBlt 成员函数。
返回值
非零,如果函数运行成功;否则为0。
备注
中的值为1 maskBitmap 指定的掩码指示 dwRop 指定的前景光栅操作代码应该是应用于该位置。 值0在掩码指示 dwRop 指定的背景光栅操作代码应该是应用于该位置。 如果光栅操作需要一个源,掩码矩形必须包含源矩形。 如果没有,该函数将失败。 如果光栅操作不需要一个源,掩码矩形必须包含目标矩形。 如果没有,该函数将失败。
如果旋转或剪切变换实际上是源设备上下文,当调用该函数时时,错误。 但是,其他类型的变换的授予权限。
如果源、架构和目标位图的颜色格式不同,此功能将架构或源格式或两者,与目标格式。 如果掩码位图不是一个纯色位图,错误。 当一个增强型图元文件中记录时,错误(和函数返回0),则源设备上下文标识引发图元文件设备上下文。 并非所有设备的支持 MaskBlt。 应用程序应调用 GetDeviceCaps 确定计算机是否支持此功能。 如果未提供掩码位图,使用前景光栅操作代码,此功能的行为方式与 BitBlt。 在掩码位图的像素偏移量映射到点(0,0)在源设备上下文的位图。 对于掩码位图包含设置mask的情况下很有用;应用程序可以轻松地应用任何其中一个于掩码blitting任务通过调整像素偏移量和矩形范围发送到 MaskBlt。
要求
Header: afxwin.h