ID2D1RenderTarget::FillOpacityMask (ID2D1Bitmap*,ID2D1Brush*,D2D1_OPACITY_MASK_CONTENT,constD2D1_RECT_F*,constD2D1_RECT_F*) 方法 (d2d1.h)

将指定位图描述的不透明蒙版应用到画笔,并使用该画笔绘制呈现目标的区域。

语法

void FillOpacityMask(
  [in]           ID2D1Bitmap               *opacityMask,
  [in]           ID2D1Brush                *brush,
                 D2D1_OPACITY_MASK_CONTENT content,
  [in, optional] const D2D1_RECT_F         *destinationRectangle,
  [in, optional] const D2D1_RECT_F         *sourceRectangle
);

参数

[in] opacityMask

类型: ID2D1Bitmap*

要应用于画笔的不透明度蒙板。 在画笔映射到 destinationRectangle 定义的区域后,sourceRectangle 指定的区域中每个像素的 alpha 值将乘以画笔的 alpha 值。

[in] brush

类型: ID2D1Brush*

用于绘制 由 destinationRectangle 指定的呈现目标的区域的画笔。

content

类型: D2D1_OPACITY_MASK_CONTENT

不透明蒙板包含的内容类型。 该值用于确定混合不透明蒙板的颜色空间。

注意 从 Windows 8 开始, 不需要D2D1_OPACITY_MASK_CONTENT 。 请参阅 ID2D1DeviceContext::FillOpacityMask 方法,该方法没有 D2D1_OPACITY_MASK_CONTENT 参数。
 

[in, optional] destinationRectangle

类型: const D2D1_RECT_F*

要绘制的呈现目标区域(以与设备无关的像素为单位)或 NULL。 如果指定 NULL ,则画笔绘制与 sourceRectangle 大小相同的矩形,但位于原点上。 如果未指定 sourceRectangle ,则画笔绘制的矩形大小与 opacityMask 位图相同,并且位于原点上。

[in, optional] sourceRectangle

类型: const D2D1_RECT_F*

要用作不透明度掩码的位图区域(以与设备无关的像素为单位)或 NULL。 如果指定 NULL ,则使用整个位图。

返回值

备注

若要使此方法正常工作,呈现目标必须使用 D2D1_ANTIALIAS_MODE_ALIASED 抗锯齿模式。 可以通过调用 ID2D1RenderTarget::SetAntialiasMode 方法设置抗锯齿模式

如果此方法失败,此方法不会返回错误代码。 若要确定绘制操作是否 (FillOpacityMask) 失败,检查 ID2D1RenderTarget::EndDrawID2D1RenderTarget::Flush 方法返回的结果。

要求

   
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d2d1.h
Library D2d1.lib
DLL D2d1.dll

另请参阅

ID2D1RenderTarget