Aracılığıyla paylaş


Yön bulanıklaştırma efekti

Yön bulanıklaştırma efekti, Gauss bulanıklaştırmabenzer, ancak bulanıklığı belirli bir yönde eğebilirsiniz. Bu efekti kullanarak bir resmin hareket halinde gibi görünmesini sağlayabilir veya animasyonlu bir görüntüyü vurgulayabilirsiniz.

Bu etki için CLSID CLSID_D2D1DirectionalBlur.

Örnek resim

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

Efekt özellikleri

Görünen ad ve dizin numaralandırması Açıklama
StandardDeviation
D2D1_DIRECTIONALBLUR_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. 0 DIP değeri bu etkiyi devre dışı bırakır. Tür FLOAT'dır.
Varsayılan değer 3,0f'dir.
Açı
D2D1_DIRECTIONALBLUR_PROP_ANGLE
Bulanıklaştırmanın x eksenine göre saat yönünün tersine açısı. Birimler derece cinsinden belirtilir.
Bulanıklaştırma çekirdeği ilk olarak Gauss bulanıklaştırma efektiyle aynı işlem kullanılarak oluşturulur. Daha sonra çekirdek değerleri bulanıklık açısına göre dönüştürülür.
Tür FLOAT'dır.
Varsayılan değer 0,0f'dir.
Optimizasyon
D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION
İyileştirme modu. Daha fazla bilgi için bkz. İyileştirme modları.
Türü D2D1_DIRECTIONALBLUR_OPTIMIZATION.
Varsayılan değer D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED.
BorderMode
D2D1_DIRECTIONALBLUR_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_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

Çıktı bit eşleminin boyutu standart sapmaya, efektin açısına ve kenarlık moduna göre artar. Kenarlık modu D2D1_BORDER_MODE_SOFT olarak ayarlanırsa, çıktı bit eşleminin boyutu piksel cinsinden gösterilen bulanıklaştırma çekirdeğinin boyutuna göre artar. Bu denklemler çıktı bit eşleminin boyutunu hesaplamak için kullanılabilir.

Gereksinim Değer
Çıktı Bit Eşlem Büyümesi X StandardDeviation (DIPs) * 6 * ((Kullanıcı DPI'sı) / 96) * cos(Angle))
Çıktı Bit Eşlem Büyümesi Y StandardDeviation (DIPs) * 6 * ((Kullanıcı DPI'si) / 96) * sin(Açı))

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