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

请参见

参考

CDC 类

层次结构图

CDC::BitBlt

CDC::GetDeviceCaps

CDC::PlgBlt

CDC::StretchBlt

MaskBlt