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.
Hier ist ein weiteres Beispiel mit dem Standardmodus.
Vor Bild 1 |
---|
![]() |
Vor Bild 2 |
![]() |
Nach |
![]() |
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.
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 |