共用方式為


形態效應

使用形態效果來縮小或縮小影像中的邊緣界限。 此效果會建立一個核心,其為您指定的 Width 和 Height 值 2 倍。 這個效果會將核心置中於其正在計算的圖元上,並傳回核心中的最大值(若為擴張)或核心中的最小值(如果侵蝕)。

這個效果的 CLSID 是CLSID_D2D1Morphology。

範例影像

此範例顯示使用侵蝕模式時效果的輸出。

之前
效果之前的影像。
之後
轉換之後的影像。
ComPtr<ID2D1Effect> morphologyEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Morphology, &morphologyEffect);

morphologyEffect->SetInput(0, bitmap);

morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_MODE, D2D1_MORPHOLOGY_MODE_ERODE);
morphologyEffect->SetValue(D2D1_MORPHOLOGY_PROP_WIDTH, 14);

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

效果屬性

顯示名稱和索引列舉 類型和預設值 描述
[模式]
D2D1_MORPHOLOGY_PROP_MODE
D2D1_MORPHOLOGY_MODE
D2D1_MORPHOLOGY_MODE_ERODE
形態模式。 可用的模式是侵蝕(扁平化)和二分板(厚)。
如需詳細資訊,請參閱 形態模式

D2D1_MORPHOLOGY_PROP_WIDTH
UINT
1
X 方向的核心大小。 單位為 DIP。 值必須介於 1 到 100 之間。

D2D1_MORPHOLOGY_PROP_HEIGHT
UINT
1
Y 方向的核心大小。 單位為 DIP。 值必須介於 1 到 100 之間。

形態模式

名稱 描述
D2D1_MORPHOLOGY_MODE_ERODE 會使用核心中每個 RGB 通道的最小值。
D2D1_MORPHOLOGY_MODE_DILATE 會使用核心中每個 RGB 通道的最大值。

輸出點陣圖

針對 DILATE 模式,輸出點陣圖大小會成長:

需求
輸出點陣圖成長 X = INT(FLOAT(寬度) * (使用者 DPI) / 96))
輸出點陣圖成長 Y = INT(FLOAT(高度) * (使用者 DPI) / 96)

針對ERODE模式,輸出位圖大小會縮小:

需求
輸出點陣圖成長 X = INT(FLOAT(寬度) * (使用者 DPI) / 96)
輸出點陣圖成長 Y = INT(FLOAT(高度) * (使用者 DPI) / 96))

需求

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

ID2D1Effect