Morfologieffekt
Använd morfologieffekten för att tunna eller förtjocka kantgränser i en bild. Den här effekten skapar en kernel som är 2 gånger högre än de värden för bredd och höjd som du anger. Den här effekten centrerar kerneln på den pixel som den beräknar och returnerar det maximala värdet i kerneln (om den är dilaterande) eller minimivärdet i kerneln (om den urholkas).
CLSID för den här effekten är CLSID_D2D1Morphology.
Exempelbilder
Det här exemplet visar effektens utdata när du använder eroderingsläget.
Före |
---|
![]() |
Efter |
![]() |
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();
Effektegenskaper
Visningsnamn och indexuppräkning | Typ- och standardvärde | Beskrivning |
---|---|---|
Läge D2D1_MORPHOLOGY_PROP_MODE |
D2D1_MORPHOLOGY_MODE D2D1_MORPHOLOGY_MODE_ERODE |
Morfologiläget. De tillgängliga lägena urholkas (plattas ut) och vidgas (förtjockas). Mer information finns i morfologilägen. |
Bredd D2D1_MORPHOLOGY_PROP_WIDTH |
UINT 1 |
Storleken på kerneln i X-riktningen. Enheterna finns i DIP:er. Värdena måste vara mellan 1 och 100 inklusive. |
Höjd D2D1_MORPHOLOGY_PROP_HEIGHT |
UINT 1 |
Storleken på kerneln i Y-riktningen. Enheterna finns i DIP:er. Värdena måste vara mellan 1 och 100 inklusive. |
Morfologilägen
Namn | Beskrivning |
---|---|
D2D1_MORPHOLOGY_MODE_ERODE | Minimivärdet från varje RGB-kanal i kerneln används. |
D2D1_MORPHOLOGY_MODE_DILATE | Det maximala värdet från varje RGB-kanal i kerneln används. |
Utdatabitmapp
För DILATE-läge växer storleken på utdatabitmappen:
Krav | Värde |
---|---|
Utdata bitmappstillväxt X = | INT(FLOAT(Width) * ((User DPI) / 96)) |
Utdata bitmappstillväxt Y = | INT(FLOAT(Height) * ((User DPI) / 96)) |
För ERODE-läge krymper storleken på utdatabitmappen:
Krav | Värde |
---|---|
Utdata bitmappstillväxt X = | INT(FLOAT(-Width) * ((User DPI) / 96)) |
Utdata bitmappstillväxt Y = | INT(FLOAT(-Height) * ((User DPI) / 96)) |
Krav
Krav | Värde |
---|---|
Lägsta klient som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Lägsta server som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Rubrik | d2d1effects.h |
Bibliotek | d2d1.lib, dxguid.lib |