共用方式為


ID2D1CommandSink1::SetPrimitiveBlend1 方法 (d2d1_2.h)

設定新的基本混合模式。

語法

HRESULT SetPrimitiveBlend1(
  D2D1_PRIMITIVE_BLEND primitiveBlend
);

參數

primitiveBlend

類型: D2D1_PRIMITIVE_BLEND

將套用至後續基本類型的基本混合。

傳回值

類型: HRESULT

如果方法成功,它會 傳回S_OK。 如果失敗,則會傳回 HRESULT 錯誤碼。

備註

混合模式

若為別名轉譯 (除了MIN模式) 之外,輸出值 O 是透過線性插補 值混合 (S、D) 與目的地圖元值,根據基本類型涵蓋目的地圖元的數量來計算。

下表顯示別名和反鋸齒混合的基本混合模式。 表格中列出的方程式會使用這些元素:

  • O = 輸出
  • S = 來源
  • SA = 來源 Alpha
  • D = 目的地
  • DA = 目的地 Alpha
  • C = 像素涵蓋範圍
基本混合模式 別名混合 反鋸齒混合 Description
D2D1_PRIMITIVE_BLEND_SOURCE_OVER O = (S + (1 – SA) * D) * C + D * (1 – C) O = S * C + D * (1 – SA *C) 標準來源到目的地混合模式。
D2D1_PRIMITIVE_BLEND_COPY O = S * C + D * (1 – C) O = S * C + D * (1 – C) 來源會複製到目的地;會忽略目的地圖元。
D2D1_PRIMITIVE_BLEND_MIN O = 最小 (S + 1-SA、D) O = 最小 (S * C + 1 – SA *C,D) 產生的圖元值會使用來源和目的地圖元值的最小值。 可在 Windows 8 和更新版本中使用。
D2D1_PRIMITIVE_BLEND_ADD O = (S + D) * C + D * (1 – C) O = S * C + D 產生的圖元值是來源和目的地圖元值的總和。 可在 Windows 8 和更新版本中使用。
  Direct2D 基本混合模式與不透明度和背景的圖例。 具有不同不透明度和背景的基本混合模式圖例。

基本混合會套用至內容上繪製的所有基本類型,除非這是使用 DrawImage API 上的 compositeMode 參數覆寫。

基本混合適用於在內容上繪製的任何基本類型內部。 在 DrawImage 的情況下,影像矩形、位移和世界轉換都會隱含這點。

如果基本混合不是 D2D1_PRIMITIVE_BLEND_OVER ,則會關閉 ClearType 轉譯。 如果應用程式在這些模式中明確強制 ClearType 轉譯,繪圖內容將會處於錯誤狀態。 D2DERR_WRONG_STATE將會從 EndDrawFlush 傳回。

規格需求

需求
最低支援的用戶端 Windows 8.1 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d2d1_2.h

另請參閱

ID2D1CommandSink1