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 ziel die erste Eingabe (Index 0) und die Quelle die zweite Eingabe (Index 1). Wenn Sie mehr als 2 Eingaben angeben, werden die Bilder ab der ersten Eingabe und der zweiten Eingabe zusammengesetzt.

Dieser Effekt implementiert alle Modi mithilfe der Blending-Einheit der Grafikverarbeitungseinheit (Graphics Processing Unit, GPU).

Die CLSID für diesen Effekt ist CLSID_D2D1Composite.

Beispielbild

Die Abbildung zeigt 2 gerundete Rechtecke der gleichen Größe, die sich überlappen. Das blaue Rechteck ist die Quelle und das rote Rechteck das Ziel. Die Bilder wurden mit dem Quellmodus zusammengesetzt.

Ein Beispielbild, das zwei gerundete Rechtecke der gleichen Größe zeigt, die sich mit dem Quellmodus überlappen.

Hier sehen Sie ein weiteres Beispiel für die Verwendung des Standardmodus.

Vor Bild 1
das erste Quellbild vor dem Effekt.
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 Indexaufzählung Typ und Standardwert BESCHREIBUNG
Mode
D2D1_COMPOSITE_PROP_MODE
D2D1_COMPOSITE_MODE
D2D1_COMPOSITE_MODE_SOURCE_OVER
Der für den Effekt verwendete Modus.

Modustypen

Die folgende Tabelle zeigt die Modi dieses Effekts. Die in der Tabelle aufgeführten Formeln verwenden die folgenden Elemente:

  • O = Ausgabe
  • S = Quelle
  • SA = Quell alpha
  • D = Ziel
  • DA = Ziel alpha
Enumeration Gleichung Bitmapgröße der Ausgabe
D2D1_COMPOSITE_MODE_SOURCE_OVER O = S + (1 SA) * D Union von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_DESTINATION_OVER O = (1 DA) * S + D Union von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_SOURCE_IN O = DA * S Schnittmenge von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_DESTINATION_IN O = SA * D Schnittmenge von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_SOURCE_OUT O = (1 - DA) * S Region der Quell-Bitmap
D2D1_COMPOSITE_MODE_DESTINATION_OUT O = (1 - SA) * D Region der Ziel-Bitmap
D2D1_COMPOSITE_MODE_SOURCE_ATOP O = DA * S + (1 - SA) * D Region der Ziel-Bitmap
D2D1_COMPOSITE_MODE_DESTINATION_ATOP O = (1 - DA) * S + SA * D Region der Quell-Bitmap
D2D1_COMPOSITE_MODE_XOR O = (1 - DA) * S + (1 - SA) * D Union von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_PLUS O = S + D Union von Quell- und Ziel-Bitmaps
D2D1_COMPOSITE_MODE_SOURCE_COPY O = S Region der Quell-Bitmap
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY O = S (nur dort, wo quelle vorhanden ist) Union von Quell- und Ziel-Bitmaps. Das Ziel wird nicht überschrieben, wenn die Quelle nicht vorhanden ist.
D2D1_COMPOSITE_MODE_MASK_INVERT O = (1 D) * S + (1 SA) * D Union von Quell- und Ziel-Bitmaps. Die Alphawerte bleiben unverändert.

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

Ein Beispielbild der einzelnen Modi, deren Deckkraft auf 1.0 oder 0.5 festgelegt ist.

Beispielcode

Laden Sie das Beispiel für zusammengesetzte Direct2D-Effektmodi herunter, um ein Beispiel für diesen Effekt zu erhalten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Unterstützte Mindestversion (Server) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Header d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect