Bileşik efekt
2 veya daha fazla görüntüyü birleştirmek için bileşik efekti kullanın. Bu etkinin 13 farklı bileşik modu vardır. T
Bileşik efekt 2 veya daha fazla girişi kabul eder. 2 görüntü belirttiğinizde, hedef ilk giriştir (dizin 0) ve kaynak ikinci giriştir (dizin 1). 2'den fazla giriş belirtirseniz, görüntüler ilk giriş ve ikinci girişten başlayarak birleşiktir ve bu şekilde devam eder.
Bu etki, grafik işleme biriminin (GPU) karıştırma birimini kullanarak tüm modları uygular.
Bu etki için CLSID CLSID_D2D1Composite.
Örnek resim
Buradaki görüntüde, örtüşen aynı boyutta 2 yuvarlatılmış dikdörtgen gösterilmektedir. Mavi dikdörtgen kaynak, kırmızı dikdörtgen ise hedeftir. Görüntüler Kaynak Üzerinden moduyla birleştirilmiştir.
Varsayılan modu kullanan başka bir örnek aşağıda verilmiştır.
Görüntü 1'in öncesi |
---|
Efekt öncesinde ilk kaynak görüntüyü ![]() |
Görüntü 2'nin öncesi |
Efekt öncesinde ikinci görüntüyü ![]() |
Sonra |
Dönüştürmeden sonra görüntüyü ![]() |
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInput(0, bitmap);
compositeEffect->SetInput(1, bitmapTwo);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Efekt özellikleri
Görünen ad ve dizin numaralandırması | Tür ve varsayılan değer | Açıklama |
---|---|---|
Mod D2D1_COMPOSITE_PROP_MODE |
D2D1_COMPOSITE_MODE D2D1_COMPOSITE_MODE_SOURCE_OVER |
Efekt için kullanılan mod. |
Mod türleri
Buradaki tabloda bu efektin modları gösterilmektedir. Tabloda listelenen denklemler şu öğeleri kullanır:
- O = Çıkış
- S = Kaynak
- SA = Kaynak Alfa
- D = Hedef
- DA = Hedef Alfa
Sayım | Denklem | Çıktı Bit Eşlem Boyutu |
---|---|---|
D2D1_COMPOSITE_MODE_SOURCE_OVER | O = S + (1 SA) * D | Kaynak ve hedef bit eşlemlerin birleşimi |
D2D1_COMPOSITE_MODE_DESTINATION_OVER | O = (1 DA) * S + D | Kaynak ve hedef bit eşlemlerin birleşimi |
D2D1_COMPOSITE_MODE_SOURCE_IN | O = DA * S | Kaynak ve hedef bit eşlemlerin kesişimi |
D2D1_COMPOSITE_MODE_DESTINATION_IN | O = SA * D | Kaynak ve hedef bit eşlemlerin kesişimi |
D2D1_COMPOSITE_MODE_SOURCE_OUT | O = (1 - DA) * S | Kaynak bit eşleminin bölgesi |
D2D1_COMPOSITE_MODE_DESTINATION_OUT | O = (1 - SA) * D | Hedef bit eşleminin bölgesi |
D2D1_COMPOSITE_MODE_SOURCE_ATOP | O = DA * S + (1 - SA) * D | Hedef bit eşleminin bölgesi |
D2D1_COMPOSITE_MODE_DESTINATION_ATOP | O = (1 - DA) * S + SA * D | Kaynak bit eşleminin bölgesi |
D2D1_COMPOSITE_MODE_XOR | O = (1 - DA) * S + (1 - SA) * D | Kaynak ve hedef bit eşlemlerin birleşimi |
D2D1_COMPOSITE_MODE_PLUS | O = S + D | Kaynak ve hedef bit eşlemlerin birleşimi |
D2D1_COMPOSITE_MODE_SOURCE_COPY | O = S | Kaynak bit eşleminin bölgesi |
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY | O = S (yalnızca kaynağın bulunduğu yer) | Kaynak ve hedef bit eşlemlerin birleşimi. Kaynağın mevcut olmadığı yerde hedefin üzerine yazılmaz. |
D2D1_COMPOSITE_MODE_MASK_INVERT | O = (1 D) * S + (1 SA) * D | Kaynak ve hedef bit eşlemlerin birleşimi. Alfa değerleri değişmez. |
Buradaki şekilde, 1,0 veya 0,5 opaklığına sahip görüntüler içeren modlardan her birinin bir örneği gösterilmektedir.
Opaklık 1.0 veya 0.5 olarak ayarlanmış modlardan her birinin örnek görüntüsünü
Örnek kod
Bu etkinin bir örneği için Direct2D bileşik efekt modları örneğini indirin.
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 |