Share via


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*

要套用至筆刷的不透明度遮罩。 sourceRectangle所指定區域中每個圖元的 Alpha 值會乘以筆刷的 Alpha 值,然後筆刷對應至destinationRectangle所定義的區域。

[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 ,筆刷會繪製大小與 不透明度遮罩 點陣圖相同的矩形,並放置在原點上。

[in, optional] sourceRectangle

類型:const D2D1_RECT_F*

要做為不透明度遮罩、裝置無關圖元或 Null的點陣圖區域。 如果指定 Null ,則會使用整個點陣圖。

傳回值

備註

若要讓這個方法正常運作,轉譯目標必須使用 D2D1_ANTIALIAS_MODE_ALIASED 反鋸齒模式。 您可以呼叫 ID2D1RenderTarget::SetAntialiasMode 方法來設定反鋸齒模式。

如果這個方法失敗,則不會傳回錯誤碼。 若要判斷繪圖作業是否 (FillOpacityMask) 失敗,請檢查 ID2D1RenderTarget::EndDrawID2D1RenderTarget::Flush 方法傳回的結果。

規格需求

   
最低支援的用戶端 適用于 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d2d1.h
程式庫 D2d1.lib
Dll D2d1.dll

另請參閱

ID2D1RenderTarget