Effetto sfocatura gaussiano
Usare l'effetto sfocatura gaussiano per creare una sfocatura basata sulla funzione gaussiana sull'intera immagine di input.
Puoi usare questo effetto per creare alone e rilasciare ombre e usare l'effetto composito per applicare il risultato all'immagine originale. È utile nell'elaborazione di foto per filtri come evidenziazioni e ombre. È possibile usare l'output di questo effetto per l'input negli effetti di illuminazione, ad esempio gli effetti illuminazione speculare o effetti di illuminazione diffusa, perché il canale alfa è sfocato, anche e gli effetti di illuminazione usano il canale alfa per determinare la geometria della superficie come mappa dell'altezza.
Questo effetto viene usato dall'effetto shadow predefinito.
Il CLSID per questo effetto è CLSID_D2D1GaussianBlur.
- 'immagine di esempio
- proprietà effetto
- modalità di ottimizzazione
- modalità bordo
- bitmap di output
- requisiti
- argomenti correlati
Immagine di esempio
Prima |
---|
![]() |
Dopo |
![]() |
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();
Proprietà dell'effetto
Enumerazione del nome visualizzato e dell'indice | Descrizione |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Quantità di sfocatura da applicare all'immagine. È possibile calcolare il raggio di sfocatura del kernel moltiplicando la deviazione standard per 3. Le unità sia della deviazione standard che del raggio di sfocatura sono DIP. Un valore pari a zero DIP disabilita completamente questo effetto. Il tipo è FLOAT. Il valore predefinito è 3,0f. |
Ottimizzazione D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Modalità di ottimizzazione. Per altre informazioni, vedi modalità di ottimizzazione. Il tipo è D2D1_GAUSSIANBLUR_OPTIMIZATION. Il valore predefinito è D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Modalità utilizzata per calcolare il bordo dell'immagine, morbido o rigido. Per altre informazioni, vedi modalità bordo. Il tipo è D2D1_GAUSSIANBLUR_BORDER_MODE. Il valore predefinito è D2D1_BORDER_MODE_SOFT. |
Modalità di ottimizzazione
Nome | Descrizione |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Applica ottimizzazioni interne, ad esempio il pre-ridimensionamento a raggi relativamente piccoli. Usa il filtro lineare. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Usa le stesse soglie di ottimizzazione della modalità Velocità, ma usa il filtro trilineare. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Usa solo ottimizzazioni interne con raggi di sfocatura di grandi dimensioni, in cui le approssimazioni hanno meno probabilità di essere visibili. Usa il filtro trilineare. |
Modalità bordo
Nome | Descrizione |
---|---|
D2D1_BORDER_MODE_SOFT | L'effetto riempie l'immagine con pixel neri trasparenti quando applica il kernel di sfocatura, causando un bordo morbido. |
D2D1_BORDER_MODE_HARD | L'effetto blocca l'output alle dimensioni dell'immagine di input. Quando l'effetto applica il kernel di sfocatura, estende l'immagine di input con una trasformazione bordo di tipo mirror per campioni esterni ai limiti di input. |
Bitmap di output
L'output di questo effetto può essere maggiore della bitmap di input in base al raggio di sfocatura e alla modalità bordo. Se la modalità bordo è impostata su D2D1_BORDER_MODE_SOFT il valore size della bitmap di output aumenta in base alle dimensioni del kernel di sfocatura, rappresentate in pixel. Questa tabella fornisce un'equazione che è possibile usare per calcolare la bitmap di output.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Pertanto, se le dimensioni dell'immagine aumentano di 10 pixel in ogni direzione, l'angolo superiore sinistro dell'immagine si troverà in (-5, -5) mentre la parte inferiore destra sarà a (105, 105).
Fabbisogno
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Server minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Intestazione | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |