Partager via


ID2D1SpriteBatch ::AddSprites, méthode (d2d1_3.h)

Ajoute les sprites donnés à la fin de ce lot de sprites.

Syntaxe

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
);

Paramètres

spriteCount

Type : UINT32

Nombre de sprites à ajouter. Cela détermine le nombre de foulées dans chaque tableau donné que Direct2D lit.

[in] destinationRectangles

Type : const D2D1_RECT_F*

Pointeur vers un tableau contenant les rectangles de destination spécifiant où dessiner les sprites dans le contexte de l’appareil de destination.

[in, optional] sourceRectangles

Type : const D2D1_RECT_U*

Pointeur vers un tableau contenant les rectangles sources spécifiant les régions de l’image bitmap source à dessiner en tant que sprites. Direct2D utilise l’intégralité de l’image bitmap source pour les sprites auxquels une valeur null est attribuée ou l’InfiniteRectU. Si ce paramètre est entièrement omis ou défini sur une valeur null, Direct2D utilise l’intégralité de l’image bitmap source pour tous les sprites ajoutés.

[in, optional] colors

Type : const D2D1_COLOR_F*

Pointeur vers un tableau contenant les couleurs à appliquer à chaque sprite. La couleur de sortie est le résultat d’une multiplication au niveau des composants de la couleur bitmap source et de la couleur fournie. La couleur de sortie n’est pas serrée.

Direct2D ne modifie pas la couleur des sprites auxquels une valeur null est attribuée. Si ce paramètre est entièrement omis ou défini sur une valeur null, Direct2D ne modifie pas la couleur des sprites ajoutés.

[in, optional] transforms

Type : const D2D1_MATRIX_3X2_F*

Pointeur vers un tableau contenant les transformations à appliquer au rectangle de destination de chaque sprite.

Direct2D ne transforme pas le rectangle de destination des sprites auxquels une valeur null est attribuée. Si ce paramètre est entièrement omis ou défini sur une valeur null, Direct2D ne transforme pas le rectangle de destination des sprites ajoutés.

destinationRectanglesStride

Type : UINT32

Spécifie la distance, en octets, entre chaque rectangle du tableau destinationRectangles. Si vous fournissez une foulée de 0, le même rectangle de destination sera utilisé pour chaque sprite ajouté.

sourceRectanglesStride

Type : UINT32

Spécifie la distance, en octets, entre chaque rectangle du tableau sourceRectangles (si ce tableau est donné). Si vous fournissez une foulée de 0, le même rectangle source sera utilisé pour chaque sprite ajouté.

colorsStride

Type : UINT32

Spécifie la distance, en octets, entre chaque couleur du tableau de couleurs (si ce tableau est donné). Si vous fournissez une foulée de 0, la même couleur sera utilisée pour chaque sprite ajouté.

transformsStride

Type : UINT32

Spécifie la distance, en octets, entre chaque transformation du tableau de transformations (si ce tableau est donné). Si vous fournissez une foulée de 0, la même transformation sera utilisée pour chaque sprite ajouté.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Dans Direct2D, un sprite est défini par quatre propriétés : un rectangle de destination, un rectangle source, une couleur et une transformation. Les rectangles de destination sont obligatoires, mais les propriétés restantes sont facultatives.

Note Omettez ou transmettez toujours une valeur Null pour les propriétés que vous ne souhaitez pas utiliser. Cela permet à Direct2D d’éviter de stocker des valeurs pour ces propriétés et d’ignorer entièrement leur gestion, ce qui améliore la vitesse de dessin. Par exemple, supposons que vous disposez d’un lot de 500 sprites et que vous ne souhaitez pas transformer leurs rectangles de destination. Au lieu de passer un tableau de matrices d’identité, omettez simplement le paramètre transforms. Cela permet à Direct2D d’éviter de stocker des transformations et d’obtenir les performances de dessin les plus rapides. En revanche, si un sprite du lot a une valeur définie pour une propriété, Direct2D doit allouer de l’espace pour ce tableau de propriétés et affecter à chaque sprite une valeur pour cette propriété (même s’il s’agit simplement de la valeur par défaut).
 

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d2d1_3.h
Bibliothèque D2d1.lib
DLL D2d1.dll

Voir aussi

ID2D1SpriteBatch