Aracılığıyla paylaş


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.

, kaynak modu kullanılarak çakışan aynı boyuttaki 2 yuvarlatılmış dikdörtgeni gösteren örnek bir görüntü.

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

ID2D1Fefek