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.
Hier sehen Sie ein weiteres Beispiel für die Verwendung des 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 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.
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 |