Dela via


Riktningsoskärpaeffekt

Effekten av riktningsoskärpa liknar gaussisk oskärpa, förutom att du kan snedställa oskärpan i en viss riktning. Du kan använda den här effekten för att få en bild att se ut som om den är i rörelse eller för att framhäva en animerad bild.

CLSID för den här effekten är CLSID_D2D1DirectionalBlur.

Exempelbild

Före
bilden före effekten.
Efter
bilden efter transformen.
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);

directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);

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

Effektegenskaper

Visningsnamn och indexuppräkning Beskrivning
StandardDeviation
D2D1_DIRECTIONALBLUR_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 0 DIP:er inaktiverar den här effekten. Typen är FLOAT.
Standardvärdet är 3,0f.
Vinkel
D2D1_DIRECTIONALBLUR_PROP_ANGLE
Oskärpans vinkel i förhållande till x-axeln, i motsols riktning. Enheterna anges i grader.
Oskärpaskärnan genereras först med samma process som för gaussisk oskärpa effekt. Kernelvärdena transformeras sedan enligt oskärpavinkeln.
Typen är FLOAT.
Standardvärdet är 0,0f.
Optimering
D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION
Optimeringsläget. Mer information finns i optimeringslägen.
Typen är D2D1_DIRECTIONALBLUR_OPTIMIZATION.
Standardvärdet är D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_DIRECTIONALBLUR_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_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

Storleken på utdatabitmappen ökar baserat på standardavvikelsen, effektens vinkel och kantlinjeläget. Om kantlinjeläget är inställt på D2D1_BORDER_MODE_SOFT ökar storleken på utdatabitmappen med storleken på oskärpaskärnan, som representeras i bildpunkter. Dessa ekvationer kan användas för att beräkna storleken på utdatabitmappen.

Krav Värde
Utdata bitmappstillväxt X StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * cos(Angle))
Utdata bitmappstillväxt Y StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * sin(Angle))

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

ID2D1Effect