ID2D1SpriteBatch::AddSprites-Methode (d2d1_3.h)

Fügt die angegebenen Sprites am Ende dieses Sprite-Batches hinzu.

Syntax

HRESULT AddSprites(
                 UINT32                  spriteCount,
  [in]           const D2D1_RECT_F       *destinationRectangles,
  [in, optional] const D2D1_RECT_U       *sourceRectangles,
  [in, optional] const D2D1_COLOR_F      *colors,
  [in, optional] const D2D1_MATRIX_3X2_F *transforms,
                 UINT32                  destinationRectanglesStride,
                 UINT32                  sourceRectanglesStride,
                 UINT32                  colorsStride,
                 UINT32                  transformsStride
);

Parameter

spriteCount

Typ: UINT32

Die Anzahl der hinzuzufügenden Sprites. Dadurch wird bestimmt, wie viele Schritte in die einzelnen Arrays direct2D gelesen werden.

[in] destinationRectangles

Typ: const D2D1_RECT_F*

Ein Zeiger auf ein Array, das die Zielrechtecke enthält, die angeben, wo die Sprites im Kontext des Zielgeräts gezeichnet werden sollen.

[in, optional] sourceRectangles

Typ: const D2D1_RECT_U*

Ein Zeiger auf ein Array, das die Quellrechtecke enthält, die die Bereiche der Quellbitbitte angeben, die als Sprites gezeichnet werden sollen. Direct2D verwendet die gesamte Quellbitbitbit für Sprites, denen ein NULL-Wert oder InfiniteRectU zugewiesen ist. Wenn dieser Parameter vollständig ausgelassen oder auf einen NULL-Wert festgelegt wird, verwendet Direct2D die gesamte Quellbitbitbit für alle hinzugefügten Sprites.

[in, optional] colors

Typ: const D2D1_COLOR_F*

Ein Zeiger auf ein Array, das die Farben enthält, die auf die einzelnen Sprites angewendet werden sollen. Die Ausgabefarbe ist das Ergebnis einer komponentenweisen Multiplikation der Quell-Bitmapfarbe und der bereitgestellten Farbe. Die Ausgabefarbe ist nicht eingespannt.

Direct2D ändert nicht die Farbe von Sprites, denen ein NULL-Wert zugewiesen ist. Wenn dieser Parameter vollständig ausgelassen oder auf einen NULL-Wert festgelegt wird, ändert Direct2D die Farbe der hinzugefügten Sprites nicht.

[in, optional] transforms

Typ: const D2D1_MATRIX_3X2_F*

Ein Zeiger auf ein Array, das die Transformationen enthält, die auf das Zielrechteck der einzelnen Sprites angewendet werden sollen.

Direct2D transformiert das Zielrechteck von Sprites, denen ein NULL-Wert zugewiesen ist, nicht. Wenn dieser Parameter vollständig ausgelassen oder auf einen NULL-Wert festgelegt wird, transformiert Direct2D das Zielrechteck der hinzugefügten Sprites nicht.

destinationRectanglesStride

Typ: UINT32

Gibt den Abstand in Bytes zwischen den einzelnen Rechtecks im Array destinationRectangles an. Wenn Sie einen Schritt von 0 angeben, wird für jeden hinzugefügten Sprite das gleiche Zielrechteck verwendet.

sourceRectanglesStride

Typ: UINT32

Gibt den Abstand in Byte zwischen den einzelnen Rechtecken im SourceRectangles-Array an (sofern dieses Array angegeben ist). Wenn Sie einen Schritt von 0 angeben, wird für jeden hinzugefügten Sprite das gleiche Quellrechteck verwendet.

colorsStride

Typ: UINT32

Gibt den Abstand in Byte zwischen jeder Farbe im Farbenarray an (sofern dieses Array angegeben ist). Wenn Sie einen Schritt von 0 angeben, wird für jeden hinzugefügten Sprite dieselbe Farbe verwendet.

transformsStride

Typ: UINT32

Gibt den Abstand in Bytes zwischen den einzelnen Transformationen im Transformationsarray an (sofern dieses Array angegeben ist). Wenn Sie einen Schritt von 0 angeben, wird für jeden hinzugefügten Sprite dieselbe Transformation verwendet.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

In Direct2D wird ein Sprite durch vier Eigenschaften definiert: ein Zielrechteck, ein Quellrechteck, eine Farbe und eine Transformation. Zielrechtecke sind obligatorisch, die übrigen Eigenschaften sind jedoch optional.

Hinweis Lassen Sie immer einen NULL-Wert für Eigenschaften aus, die Sie nicht verwenden möchten, oder übergeben Sie ihn. Dadurch kann Direct2D das Speichern von Werten für diese Eigenschaften vermeiden und deren Handhabung vollständig überspringen, was die Zeichnungsgeschwindigkeit verbessert. Angenommen, Sie verfügen über einen Batch von 500 Sprites, und Sie möchten keines der Zielrechtecke transformieren. Anstatt ein Array von Identitätsmatrizen zu übergeben, lassen Sie einfach den parameter transforms aus. Dadurch kann Direct2D das Speichern von Transformationen vermeiden und die schnellste Zeichnungsleistung erzielen. Wenn ein Sprite im Batch hingegen einen beliebigen Wert für eine Eigenschaft festgelegt hat, muss Direct2D intern Speicherplatz für dieses Eigenschaftenarray zuordnen und jedem Sprite einen Wert für diese Eigenschaft zuweisen (auch wenn es sich nur um den Standardwert handelt).
 

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d2d1_3.h
Bibliothek D2d1.lib
DLL D2d1.dll

Weitere Informationen

ID2D1SpriteBatch