Efekt morfologie
Efekt morfologie slouží k tenkému nebo zahuštěnému ohraničení okrajů na obrázku. Tento efekt vytvoří jádro, které je 2 krát hodnoty Width a Height, které zadáte. Tento efekt zacentruje jádro na pixel, který počítá, a vrátí maximální hodnotu v jádru (pokud dilating) nebo minimální hodnotu v jádru (pokud jerodující).
CLSID pro tento efekt je CLSID_D2D1Morphology.
Ukázkové obrázky
Tento příklad ukazuje výstup efektu při použití režimu erode.
Před |
---|
![]() |
Po |
![]() |
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();
Vlastnosti efektu
Zobrazovaný název a výčet indexu | Typ a výchozí hodnota | Popis |
---|---|---|
Režim D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
Režim morfologie. Dostupné režimy jsou erode (zploštělé) a dilate (zahuštěné). Další informace najdete v režimech morfologie. |
Šířka D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Velikost jádra ve směru X. Jednotky jsou v jednotkách DIP. Hodnoty musí být v rozsahu 1 až 100 včetně. |
Výška D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Velikost jádra ve směru Y. Jednotky jsou v jednotkách DIP. Hodnoty musí být v rozsahu 1 až 100 včetně. |
Režimy morfologie
Jméno | Popis |
---|---|
D2D1_MORPHOLOGY_MODE_ERODE | Použije se minimální hodnota z každého kanálu RGB v jádru. |
D2D1_MORPHOLOGY_MODE_DILATE | Použije se maximální hodnota z každého kanálu RGB v jádru. |
Výstupní rastrový obrázek
U režimu DILATE roste velikost výstupního rastrového obrázku:
Požadavek | Hodnota |
---|---|
Výstupní rastrový obrázek X = | INT(FLOAT(šířka) * ((DPI uživatele) / 96)) |
Výstupní rastrový obrázek Růst Y = | INT(FLOAT(výška) * ((DPI uživatele) / 96)) |
V režimu ERODE se velikost výstupního rastrového obrázku zmenší:
Požadavek | Hodnota |
---|---|
Výstupní rastrový obrázek X = | INT(FLOAT(-Width) * ((DPI uživatele) / 96)) |
Výstupní rastrový obrázek Růst Y = | INT(FLOAT(-Height) * ((DPI uživatele) / 96)) |
Požadavky
Požadavek | Hodnota |
---|---|
Minimální podporovaný klient | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
Minimální podporovaný server | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
Záhlaví | d2d1effects.h |
Knihovna | d2d1.lib, dxguid.lib |