共用方式為


方向模糊效果

方向模糊效果類似於 高斯模糊,但您可以扭曲特定方向的模糊。 您可以使用這個效果讓影像看起來就像在移動中,或強調動畫影像。

這個效果的 CLSID 是CLSID_D2D1DirectionalBlur。

範例影像

以前
在效果之前 影像。
在轉換之後 映像。
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);

directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(directionalBlurEffect.Get());
m_d2dContext->EndDraw();

效果屬性

顯示名稱和索引列舉 描述
StandardDeviation
D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION
要套用至影像的模糊量。 您可以將標準偏差乘以 3,以計算核心的模糊半徑。 標準偏差和模糊半徑的單位都是 DIP。 值為 0 的 IOPS 會停用此效果。 此類型為 FLOAT。
默認值為 3.0f。
角度
D2D1_DIRECTIONALBLUR_PROP_ANGLE
相對於 X 軸的模糊角度,逆時針方向。 單位以度為單位指定。
模糊核心會先使用與 Gaussian 模糊 效果相同的程序產生。 接著會根據模糊角度轉換核心值。
此類型為 FLOAT。
預設值為 0.0f。
優化
D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION
優化模式。 如需詳細資訊,請參閱 優化模式
此類型為D2D1_DIRECTIONALBLUR_OPTIMIZATION。
預設值為 D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED。
BorderMode
D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE
用來計算影像框線、軟式或硬式的模式。 如需詳細資訊,請參閱 框線模式
類型為 D2D1_BORDER_MODE。
預設值為 D2D1_BORDER_MODE_SOFT。

優化模式

名字 描述
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED 套用內部優化,例如在相對較小的半徑進行預先調整。 使用線性篩選。
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED 使用與速度模式相同的優化閾值,但使用三線性篩選。
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY 只使用具有大型模糊弧度的內部優化,其中近似值較不可見。 使用三線性篩選。

框線模式

名字 描述
D2D1_BORDER_MODE_SOFT 效果會以透明黑色圖元填補影像,因為它套用模糊核心,導致柔邊。
D2D1_BORDER_MODE_HARD 效果會將輸出限制為輸入影像的大小。 當效果套用模糊核心時,它會使用鏡像類型框線轉換來擴充輸入影像,以供輸入界限外的樣本使用。

輸出點陣圖

輸出位圖的大小會根據標準偏差、效果的角度和框線模式而增加。 如果框線模式設定為D2D1_BORDER_MODE_SOFT輸出位圖的大小會隨著模糊核心的大小而增加,以圖元表示。 這些方程式可用來計算輸出位圖的大小。

要求 價值
輸出點陣圖成長 X StandardDeviation (DIPs) * 6 * (使用者 DPI) / 96) * cos(Angle))
輸出點陣圖成長Y StandardDeviation (DIP) * 6 * (使用者 DPI) / 96) * sin(Angle))

要求

要求 價值
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
最低支援的伺服器 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
頁眉 d2d1effects.h
圖書館 d2d1.lib、dxguid.lib

ID2D1Effect