Gauss bulanıklaştırma efekti

Giriş görüntüsünün tamamında Gaussian işlevini temel alan bir bulanıklık oluşturmak için Gauss bulanıklaştırma efektini kullanın.

Bu efekti kullanarak parlamalar ve gölgeler oluşturabilir ve sonucu özgün görüntüye uygulamak için bileşik efektini kullanabilirsiniz. Vurgular ve gölgeler gibi filtreler için fotoğraf işlemede kullanışlıdır. Alfa kanalı bulanık olduğundan ve aydınlatma efektleri de yükseklik haritası olarak yüzey geometrisini belirlemek için alfa kanalını kullandığından Specular Lighting veya Diffuse Lighting efektleri gibi aydınlatma efektlerine giriş yapmak için bu efektin çıkışını kullanabilirsiniz.

Bu efekt, yerleşik Gölge efekti tarafından kullanılır.

Bu etki için CLSID CLSID_D2D1GaussianBlur.

Örnek resim

Önce
Efektin önüne görüntüyü .
Sonra
Dönüştürmeden sonra görüntüyü .
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();

Efekt özellikleri

Görünen ad ve dizin numaralandırması Açıklama
StandardDeviation
D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION
Görüntüye uygulanacak bulanıklık miktarı. Standart sapması 3 ile çarparak çekirdeğin bulanıklık yarıçapını hesaplayabilirsiniz. Hem standart sapma hem de bulanıklaştırma yarıçapının birimleri DIP'lerdir. Sıfır DIP değeri bu etkiyi tamamen devre dışı bırakır. Tür FLOAT'dır.
Varsayılan değer 3,0f'dir.
Optimizasyon
D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION
İyileştirme modu. Daha fazla bilgi için bkz. İyileştirme modları. Türü D2D1_GAUSSIANBLUR_OPTIMIZATION.
Varsayılan değer D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_GAUSSIANBLUR_PROP_BORDER_MODE
Görüntünün kenarını yumuşak veya sert olarak hesaplamak için kullanılan mod. Daha fazla bilgi için bkz. Kenarlık modları.
Türü D2D1_GAUSSIANBLUR_BORDER_MODE.
Varsayılan değer D2D1_BORDER_MODE_SOFT.

İyileştirme modları

Ad Açıklama
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED Görece küçük yarıçaplarda önceden ölçeklendirme gibi iç iyileştirmeler uygular. Doğrusal filtreleme kullanır.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED Hız moduyla aynı iyileştirme eşiklerini kullanır, ancak üç çizgili filtreleme kullanır.
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY Yalnızca, yaklaşık değerlerin görünür olma olasılığının daha az olduğu büyük bulanıklık yarıçapıyla iç iyileştirmeleri kullanır. Üç satırlı filtreleme kullanır.

Kenarlık modları

Ad Açıklama
D2D1_BORDER_MODE_SOFT Efekt, bulanıklaştırma çekirdeğini uyguladığından görüntüyü saydam siyah piksellerle doldurur ve yumuşak bir kenar elde eder.
D2D1_BORDER_MODE_HARD Efekt, çıkışı giriş görüntüsünün boyutuna sıkıştırır. Efekt bulanıklaştırma çekirdeğini uyguladığında, giriş görüntüsünü giriş sınırlarının dışındaki örnekler için yansıtma türü kenarlık dönüşümüyle genişletir.

Çıktı bit eşlemi

Bu efektin çıkışı, bulanıklaştırma yarıçapı ve kenarlık moduna göre giriş bit eşleminden daha büyük olabilir. Kenarlık modu, çıktı bit eşleminin s boyutu D2D1_BORDER_MODE_SOFT olarak ayarlanırsa piksel cinsinden gösterilen bulanıklaştırma çekirdeğinin boyutu artar. Bu tablo, çıktı bit eşlemini hesaplamak için kullanabileceğiniz bir denklem sağlar.

Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)

Dolayısıyla, resim boyutu her yönde 10 piksel artarsa, görüntünün sol üst köşesi (-5, -5) konumunda, sağ alt köşe ise (105, 105) konumunda olur.

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Desteklenen en düşük sunucu Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Üstbilgi d2d1effects.h
Kütüphane d2d1.lib, dxguid.lib

ID2D1Fefek