ID2D1CommandSink1::SetPrimitiveBlend1 方法 (d2d1_2.h)
設定新的基本混合模式。
語法
HRESULT SetPrimitiveBlend1(
D2D1_PRIMITIVE_BLEND primitiveBlend
);
參數
primitiveBlend
將套用至後續基本類型的基本混合。
傳回值
類型: 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 和更新版本中使用。 |
基本混合會套用至內容上繪製的所有基本類型,除非這是使用 DrawImage API 上的 compositeMode 參數覆寫。
基本混合適用於在內容上繪製的任何基本類型內部。 在 DrawImage 的情況下,影像矩形、位移和世界轉換都會隱含這點。
如果基本混合不是 D2D1_PRIMITIVE_BLEND_OVER ,則會關閉 ClearType 轉譯。 如果應用程式在這些模式中明確強制 ClearType 轉譯,繪圖內容將會處於錯誤狀態。 D2DERR_WRONG_STATE將會從 EndDraw 或 Flush 傳回。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d2d1_2.h |