Freigeben über


Zusammengesetzter Effekt

Verwenden Sie den zusammengesetzten Effekt, um 2 oder mehr Bilder zu kombinieren. Dieser Effekt hat 13 verschiedene zusammengesetzte Modi. T

Der zusammengesetzte Effekt akzeptiert 2 oder mehr Eingaben. Wenn Sie 2 Bilder angeben, ist das Ziel die erste Eingabe (Index 0) und die Quelle die zweite Eingabe (Index 1). Wenn Sie mehr als 2 Eingaben angeben, werden die Bilder beginnend mit der ersten Eingabe und der zweiten eingabe usw. zusammengesetzt.

Dieser Effekt implementiert alle Modi mithilfe der Blendungseinheit der Grafikverarbeitungseinheit (GPU).

Die CLSID für diesen Effekt ist CLSID_D2D1Composite.

Beispielbild

Die Abbildung zeigt hier 2 abgerundete Rechtecke derselben Größe, die sich überlappen. Das blaue Rechteck ist die Quelle, und das rote Rechteck ist das Ziel. Die Bilder wurden mit dem Source Over-Modus zusammengesetzt.

ein Beispielbild mit zwei abgerundeten Rechtecke derselben Größe, die sich mit dem Quell-Über-Modus überlappen.

Hier ist ein weiteres Beispiel mit dem Standardmodus.

Vor Bild 1
das erste Quellbild vor dem Effekt aus.
Vor Bild 2
das zweite Bild vor dem Effekt.
Nach
das Bild nach der Transformation.
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();

Effekteigenschaften

Anzeigename und Indexenumeration Typ und Standardwert Beschreibung
Modus
D2D1_COMPOSITE_PROP_MODE
D2D1_COMPOSITE_MODE
D2D1_COMPOSITE_MODE_SOURCE_OVER
Der modus, der für den Effekt verwendet wird.

Modustypen

In der folgenden Tabelle sind die Modi dieses Effekts dargestellt. Die in der Tabelle aufgeführten Formeln verwenden die folgenden Elemente:

  • O = Ausgabe
  • S = Quelle
  • SA = Quell-Alpha
  • D = Ziel
  • DA = Ziel alpha
Aufzählung Gleichung Ausgabebitmapgröße
D2D1_COMPOSITE_MODE_SOURCE_OVER O = S + (1 SA) * D Union von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_DESTINATION_OVER O = (1 DA) * S + D Union von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_SOURCE_IN O = DA * S Schnittmenge von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_DESTINATION_IN O = SA * D Schnittmenge von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_SOURCE_OUT O = (1 - DA) * S Region der Quellbitmap
D2D1_COMPOSITE_MODE_DESTINATION_OUT O = (1 - SA) * D Region der Zielbitmap
D2D1_COMPOSITE_MODE_SOURCE_ATOP O = DA * S + (1 - SA) * D Region der Zielbitmap
D2D1_COMPOSITE_MODE_DESTINATION_ATOP O = (1 - DA) * S + SA * D Region der Quellbitmap
D2D1_COMPOSITE_MODE_XOR O = (1 - DA) * S + (1 - SA) * D Union von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_PLUS O = S + D Union von Quell- und Zielbitmaps
D2D1_COMPOSITE_MODE_SOURCE_COPY O = S Region der Quellbitmap
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY O = S (nur bei vorhandener Quelle) Union von Quell- und Zielbitmaps. Das Ziel wird nicht überschrieben, wo die Quelle nicht vorhanden ist.
D2D1_COMPOSITE_MODE_MASK_INVERT O = (1 D) * S + (1 SA) * D Union von Quell- und Zielbitmaps. Die Alphawerte sind unverändert.

Die folgende Abbildung zeigt ein Beispiel für jeden Modus mit Bildern, die eine Deckkraft von 1,0 oder 0,5 aufweisen.

ein Beispielbild der einzelnen Modi mit Deckkraft auf 1,0 oder 0,5 festgelegt.

Beispielcode

Laden Sie für ein Beispiel für diesen Effekt das Beispiel Direct2D-Zusammengesetzten Effektmodiherunter.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Mindestens unterstützter Server Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Kopfball d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect-