Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Görüntünün alfa kanalından gölge oluşturmak için gölge efektini kullanın. Gölge, daha yüksek alfa değerleri için daha opak ve daha düşük alfa değerleri için daha saydamdır. Bulanıklık miktarını ve gölgenin rengini ayarlayabilirsiniz.
Bu etki için CLSID CLSID_D2D1Shadow.
Örnek resim
Buradaki örnekte, özgün konumda üzerinde birleştirilmiş kaynak görüntüyle aşağı ve sağa çevrilmiş gölge efektinin çıkışı gösterilmektedir. Gölge efekti yalnızca gölgeyi oluşturur.
| Önce |
|---|
Efektin önüne görüntüyü ![]() |
| Sonra |
Dönüştürmeden sonra görüntüyü ![]() |
ComPtr<ID2D1Effect> shadowEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Shadow, &shadowEffect);
shadowEffect->SetInput(0, bitmap);
// Shadow is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));
ComPtr<ID2D1Effect> affineTransformEffect;
m_d2dContext->CreateEffect(CLSID_D2D12DAffineTransform, &affineTransformEffect);
affineTransformEffect->SetInputEffect(0, shadowEffect.Get());
D2D1_MATRIX_3X2_F matrix = D2D1::Matrix3x2F::Translation(20, 20));
affineTransformEffect->SetValue(D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX, matrix);
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, affineTransformEffect.Get());
compositeEffect->SetInput(2, bitmap);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Efekt özellikleri
| Görünen ad ve dizin numaralandırması | Açıklama |
|---|---|
| BlurStandardDeviation D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION |
Görüntünün alfa kanalına 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. Bu özellik, Gauss Bulanıklaştırma standart sapma özelliğiyle aynıdır. Tür FLOAT'dır. Varsayılan değer 3,0f'dir. |
| Renk D2D1_SHADOW_PROP_COLOR |
Gölgenin rengi. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_4F: (R, G, B, A). Bu rengi düz alfa olarak belirtmelisiniz. Türü D2D1_VECTOR_4F. Varsayılan değer: {0.0f, 0.0f, 0.0f, 1.0f}. |
| Optimizasyon D2D1_SHADOW_PROP_OPTIMIZATION |
Performans iyileştirme düzeyi. Tür D2D1_SHADOW_OPTIMIZATION. Varsayılan değer D2D1_SHADOW_OPTIMIZATION_BALANCED. |
İ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. |
Çıktı bit eşlemi
Çıktı bit eşleminin boyutu, bulanıklaştırma çıkışının boyutudur. Çıktı bit eşleminin özgün bit eşleme göre büyümesi miktarı aşağıdaki denklem kullanılarak hesaplanabilir:
Çıktı Bit Eşlem Büyümesi (X ve Y) = BlurStandardDeviation (cihazdan bağımsız pikseller (DIPs))*6*(Kullanıcı DPI'sı)/96
Çıkış her yönde eşit olarak artar, bu nedenle örneğin boyut her yönde 10 piksel artarsa bit eşlemin sol üst köşesi (-5, -5) konumunda bulunur ve sağ alt köşe buradaki diyagramda gösterildiği gibi (105, 105) 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 |

