Efekt rozmycia Gaussiana
Użyj efektu rozmycia Gaussian, aby utworzyć rozmycie oparte na funkcji Gaussian na całym obrazie wejściowym.
Możesz użyć tego efektu, aby utworzyć blaski i cienie i użyć złożonego efektu, aby zastosować wynik do oryginalnego obrazu. Jest to przydatne w przetwarzaniu zdjęć dla filtrów, takich jak wyróżnienia i cienie. Możesz użyć danych wyjściowych tego efektu do wprowadzania efektów oświetlenia, takich jak oświetlenie specular lub oświetlenie rozproszone efekty, ponieważ kanał alfa jest rozmyty, a efekty oświetlenia używają kanału alfa do określenia geometrii powierzchni jako mapy wysokości.
Ten efekt jest stosowany przez wbudowany efekt cień.
Identyfikator CLSID dla tego efektu jest CLSID_D2D1GaussianBlur.
- przykładowy obraz
- właściwości Efekt
- tryby optymalizacji
- tryby obramowania
- danych bitowych wyjściowych
- wymagania dotyczące
- Tematy pokrewne
Przykładowy obraz
Przed |
---|
![]() |
Po |
![]() |
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();
Właściwości efektu
Nazwa wyświetlana i wyliczenie indeksu | Opis |
---|---|
Eksmisji w warstwie Standardowa D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Ilość rozmycia, która ma zostać zastosowana do obrazu. Promień rozmycia jądra można obliczyć, mnożąc odchylenie standardowe przez 3. Jednostki zarówno odchylenia standardowego, jak i promienia rozmycia to DIPs. Wartość zero DIPs wyłącza ten efekt całkowicie. Typ to FLOAT. Wartość domyślna to 3.0f. |
Optymalizacja D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Tryb optymalizacji. Aby uzyskać więcej informacji, zobacz Tryby optymalizacji. Typ to D2D1_GAUSSIANBLUR_OPTIMIZATION. Wartość domyślna to D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Tryb używany do obliczania obramowania obrazu, miękkiego lub twardego. Aby uzyskać więcej informacji, zobacz Tryby obramowania. Typ jest D2D1_GAUSSIANBLUR_BORDER_MODE. Wartość domyślna to D2D1_BORDER_MODE_SOFT. |
Tryby optymalizacji
Nazwa | Opis |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Stosuje optymalizacje wewnętrzne, takie jak wstępne skalowanie na stosunkowo małym promieniu. Używa filtrowania liniowego. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Używa tych samych progów optymalizacji co tryb szybkości, ale używa filtrowania trójliniowego. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Używa tylko optymalizacji wewnętrznych z dużym promieniem rozmycia, gdzie przybliżenia są mniej prawdopodobne, aby być widoczne. Używa filtrowania trójliniowego. |
Tryby obramowania
Nazwa | Opis |
---|---|
D2D1_BORDER_MODE_SOFT | Efekt podpełnia obraz przezroczystymi czarnymi pikselami, ponieważ stosuje jądro rozmycia, co powoduje miękką krawędź. |
D2D1_BORDER_MODE_HARD | Efekt zaciska dane wyjściowe do rozmiaru obrazu wejściowego. Gdy efekt stosuje jądro rozmycia, rozszerza obraz wejściowy za pomocą przekształcenia obramowania typu dublowanego dla próbek poza granicami wejściowymi. |
Mapa bitowa wyjściowa
Wynik tego efektu może być większy niż mapa bitowa wejściowa na podstawie promienia rozmycia i trybu obramowania. Jeśli tryb obramowania jest ustawiony na D2D1_BORDER_MODE_SOFT ize mapy bitowej wyjściowej zwiększa się o rozmiar jądra rozmycia, reprezentowany w pikselach. Ta tabela zawiera równanie, którego można użyć do obliczenia wyjściowej mapy bitowej.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Jeśli więc rozmiar obrazu wzrośnie o 10 pikseli w każdym kierunku, lewy górny róg obrazu będzie znajdować się w lokalizacji (-5, -5), podczas gdy prawy dolny będzie wynosić (105, 105).
Wymagania
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
Minimalny obsługiwany serwer | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
Nagłówek | d2d1effects.h |
Biblioteka | d2d1.lib, dxguid.lib |