Delen via


Gaussiaans vervagend effect

Gebruik het gaussiische vervagingseffect om een vervaging te maken op basis van de Gaussiaanse functie over de gehele invoerafbeelding.

U kunt dit effect gebruiken om gloed en slagschaduw te maken en het samengestelde effect te gebruiken om het resultaat toe te passen op de oorspronkelijke afbeelding. Het is handig bij het verwerken van foto's voor filters zoals hoogtepunten en schaduwen. U kunt de uitvoer van dit effect gebruiken voor invoer in lichteffecten, zoals de Specular Lighting of Diffuse Verlichting effecten, omdat het alfakanaal ook wazig is en belichtingseffecten het alfakanaal gebruiken om oppervlaktegeometrie te bepalen als hoogtekaart.

Dit effect wordt gebruikt door het ingebouwde Shadow effect.

De CLSID voor dit effect is CLSID_D2D1GaussianBlur.

Voorbeeldafbeelding

Voor
de afbeelding vóór het effect.
Na
de afbeelding na de transformatie.
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);

gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);

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

Effecteigenschappen

Weergavenaam en indexenumeratie Beschrijving
StandardDeviation
D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION
De hoeveelheid vervagen die moet worden toegepast op de afbeelding. U kunt de vervagende straal van de kernel berekenen door de standaarddeviatie te vermenigvuldigen met 3. De eenheden van zowel de standaarddeviatie als de blurstraal zijn DIPs. Met een waarde van nul DIPs wordt dit effect volledig uitgeschakeld. Het type is FLOAT.
De standaardwaarde is 3,0f.
Optimalisering
D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION
De optimalisatiemodus. Zie Optimalisatiemodi voor meer informatie. Het type is D2D1_GAUSSIANBLUR_OPTIMIZATION.
De standaardwaarde is D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_GAUSSIANBLUR_PROP_BORDER_MODE
De modus die wordt gebruikt voor het berekenen van de rand van de afbeelding, zacht of hard. Zie Randmodi voor meer informatie.
Het type is D2D1_GAUSSIANBLUR_BORDER_MODE.
De standaardwaarde is D2D1_BORDER_MODE_SOFT.

Optimalisatiemodi

Naam Beschrijving
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED Hiermee past u interne optimalisaties toe, zoals vooraf schalen op relatief kleine radii. Maakt gebruik van lineair filteren.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED Gebruikt dezelfde optimalisatiedrempels als de snelheidsmodus, maar maakt gebruik van trilineaire filters.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY Maakt alleen gebruik van interne optimalisaties met grote vervagende radii, waarbij benaderingen minder waarschijnlijk zichtbaar zijn. Maakt gebruik van trilineaire filtering.

Randmodi

Naam Beschrijving
D2D1_BORDER_MODE_SOFT Het effect padt de afbeelding met transparante zwarte pixels terwijl deze de vervaagde kernel toepast, wat resulteert in een zachte rand.
D2D1_BORDER_MODE_HARD Het effect klemt de uitvoer op de grootte van de invoerafbeelding. Wanneer het effect de vervaagde kernel toepast, wordt de invoerafbeelding uitgebreid met een transformatie van het spiegeltype rand voor voorbeelden buiten de invoergrenzen.

Uitvoer bitmap

De uitvoer van dit effect kan groter zijn dan de invoer bitmap op basis van de vervagende straal en de randmodus. Als de randmodus is ingesteld op D2D1_BORDER_MODE_SOFT de grootte van de uitvoer bitmap toeneemt met de grootte van de blur kernel, weergegeven in pixels. Deze tabel bevat een vergelijking die u kunt gebruiken om de uitvoer bitmap te berekenen.

Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)

Dus als de afbeeldingsgrootte met 10 pixels in elke richting toeneemt, bevindt de linkerbovenhoek van de afbeelding zich op (-5, -5) terwijl de rechterbenedenhoek zich bevindt op (105, 105).

Eisen

Eis Waarde
Minimaal ondersteunde client Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps]
Minimaal ondersteunde server Windows 8 en Platform Update voor Windows 7 [desktop-apps | Windows Store-apps]
Rubriek d2d1effects.h
Bibliotheek d2d1.lib, dxguid.lib

ID2D1Effect-