形態效應
使用形態效果來縮小或縮小影像中的邊緣界限。 此效果會建立一個核心,其為您指定的 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 |