Gaussisk oskärpa
Använd effekten gaussisk oskärpa för att skapa en oskärpa baserat på gaussiska funktionen över hela indatabilden.
Du kan använda den här effekten för att skapa glöd och skuggor och använda sammansatta effekt för att tillämpa resultatet på den ursprungliga bilden. Det är användbart vid fotobearbetning för filter som markeringar och skuggor. Du kan använda resultatet av denna effekt för indata i belysningseffekter, som Specular Lighting eller Diffus belysning effekter, eftersom alfakanalen också är suddig och ljuseffekter använder alfakanalen för att fastställa ytgeometri som en höjdkarta.
Den här effekten används av den inbyggda Shadow-effekten.
CLSID för den här effekten är CLSID_D2D1GaussianBlur.
- Exempelbild
- egenskaper för effekt
- optimeringslägen
- kantlinjelägen
- bitmapp för utdata
- Krav
- Relaterade ämnen
Exempelbild
Före |
---|
![]() |
Efter |
![]() |
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();
Effektegenskaper
Visningsnamn och indexuppräkning | Beskrivning |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Mängden oskärpa som ska tillämpas på bilden. Du kan beräkna kärnans radie med oskärpa genom att multiplicera standardavvikelsen med 3. Enheterna för både standardavvikelsen och radien för oskärpa är DIP:er. Värdet noll DIP:er inaktiverar den här effekten helt. Typen är FLOAT. Standardvärdet är 3,0f. |
Optimering D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Optimeringsläget. Mer information finns i optimeringslägen. Typen är D2D1_GAUSSIANBLUR_OPTIMIZATION. Standardvärdet är D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Det läge som används för att beräkna bildens kantlinje, mjuk eller hård. Mer information finns i kantlinjelägen. Typen är D2D1_GAUSSIANBLUR_BORDER_MODE. Standardvärdet är D2D1_BORDER_MODE_SOFT. |
Optimeringslägen
Namn | Beskrivning |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Tillämpar interna optimeringar, till exempel förskalning vid relativt liten radi. Använder linjär filtrering. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Använder samma optimeringströsklar som hastighetsläge, men använder trilinär filtrering. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Använder endast interna optimeringar med radier med stor oskärpa, där uppskattningar är mindre benägna att vara synliga. Använder trilinär filtrering. |
Kantlinjelägen
Namn | Beskrivning |
---|---|
D2D1_BORDER_MODE_SOFT | Effekten fyller bilden med transparenta svarta bildpunkter när den applicerar oskärpaskärnan, vilket resulterar i en mjuk kant. |
D2D1_BORDER_MODE_HARD | Effekten klämmer utdata till indatabildens storlek. När effekten tillämpar oskärpaskärnan utökas indatabilden med en kantlinjetransformering av spegeltyp för exempel utanför indatagränserna. |
Utdatabitmapp
Utdata från den här effekten kan vara större än bitmappen för indata baserat på radien för oskärpa och kantlinjeläget. Om kantlinjeläget är inställt på D2D1_BORDER_MODE_SOFT ökar storleken på utdatabitmappen med storleken på oskärpaskärnan, representerad i bildpunkter. Den här tabellen innehåller en ekvation som du kan använda för att beräkna utdatabitmappen.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Så om bildstorleken ökar med 10 bildpunkter i varje riktning kommer det övre vänstra hörnet av bilden att finnas på (-5, -5) medan den nedre högra kommer att vara på (105, 105).
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 |