Gauss-elmosódás effektus
A Gauss-elmosás effektussal a teljes bemeneti képen létrehozhat egy elmosódást a Gauss-függvény alapján.
Ezzel az effektusval ragyogásokat és árnyékokat hozhat létre, és az összetett effektus használatával alkalmazhatja az eredményt az eredeti képre. Hasznos a fényképfeldolgozásban olyan szűrők esetében, mint a kiemelések és az árnyékok. Ennek az effektusnak a kimenetét használhatja a világítási effektusokba való bemenethez, például a Specular Lighting vagy Diffúz világítás effektusokhoz, mivel az alfa csatorna is elmosódott, a világítási effektusok pedig az alfa csatornával határozzák meg a felületgeometriát magasságtérképként.
Ezt az effektust a beépített Árnyék effektus használja.
Az effektus CLSID azonosítója CLSID_D2D1GaussianBlur.
- példakép
- Effektus tulajdonságai
- optimalizálási módok
- szegélymódok
- Kimeneti bitkép
- követelmények
- Kapcsolódó témakörök
Példakép
Előtt |
---|
![]() |
Után |
![]() |
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();
Effektus tulajdonságai
Név és index számbavételének megjelenítése | Leírás |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
A képre alkalmazni kívánt elmosódás mennyisége. A kernel elmosódási sugarát úgy számíthatja ki, hogy megszorozza a szórást 3-mal. A szórás és az életlenítési sugár mértékegysége a DIP. A nulla DIP érték teljesen letiltja ezt az effektust. A típus FLOAT. Az alapértelmezett érték 3,0f. |
Optimalizálás D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Az optimalizálási mód. További információért tekintse meg optimalizálási módokat. A típus D2D1_GAUSSIANBLUR_OPTIMIZATION. Az alapértelmezett érték a D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
A kép szegélyének kiszámítására használt mód, puha vagy kemény. További információért tekintse meg szegélymódokat. A típus D2D1_GAUSSIANBLUR_BORDER_MODE. Az alapértelmezett érték a D2D1_BORDER_MODE_SOFT. |
Optimalizálási módok
Név | Leírás |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Belső optimalizálásokat alkalmaz, például az előskálázást viszonylag kis radii értéken. Lineáris szűrést használ. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Ugyanazokat az optimalizálási küszöbértékeket használja, mint a Sebesség mód, de trilineáris szűrést használ. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Csak belső optimalizálást használ nagy életlenítési radiival, ahol a közelítések kevésbé valószínűek. Trilineáris szűrést használ. |
Szegélymódok
Név | Leírás |
---|---|
D2D1_BORDER_MODE_SOFT | Az effektus átlátszó fekete képpontokkal párnáztatja a képet, miközben az elmosódott kernelt alkalmazza, és puha élhez vezet. |
D2D1_BORDER_MODE_HARD | Az effektus a kimenetet a bemeneti kép méretéhez rögzíti. Ha az effektus az életlenítési kernelt alkalmazza, a bemeneti rendszerképet tükör típusú szegélyátalakítással bővíti a bemeneti korlátokon kívüli mintákhoz. |
Kimeneti bitkép
Ennek az effektusnak a kimenete nagyobb lehet, mint a bemeneti bitkép az életlenítési sugár és a szegély mód alapján. Ha a szegély mód úgy van beállítva, hogy D2D1_BORDER_MODE_SOFT a kimeneti bitkép mérete a képpontokban ábrázolt elmosódott kernel méretével nő. Ez a táblázat egy egyenletet biztosít, amellyel kiszámíthatja a kimeneti bitképet.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Tehát ha a kép mérete 10 képponttal nő minden irányban, a kép bal felső sarkában (-5, -5) lesz, míg a jobb alsó sarokban (105, 105).
Követelmények
Követelmény | Érték |
---|---|
Minimálisan támogatott ügyfél | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Minimálisan támogatott kiszolgáló | Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások] |
Fejléc | d2d1effects.h |
Könyvtár | d2d1.lib, dxguid.lib |