Condividi tramite


Metodo ID2D1SpriteBatch::AddSprites (d2d1_3.h)

Aggiunge gli sprite specificati alla fine di questo batch sprite.

Sintassi

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

Parametri

spriteCount

Tipo: UINT32

Numero di sprite da aggiungere. In questo modo si determina il numero di passi in ogni matrice direct2D specificata da leggere.

[in] destinationRectangles

Tipo: const D2D1_RECT_F*

Puntatore a una matrice contenente i rettangoli di destinazione che specificano dove disegnare gli sprite nel contesto del dispositivo di destinazione.

[in, optional] sourceRectangles

Tipo: const D2D1_RECT_U*

Puntatore a una matrice contenente i rettangoli di origine che specificano le aree della bitmap di origine da disegnare come sprite. Direct2D userà l'intera bitmap di origine per gli sprite assegnati a un valore Null o a InfiniteRectU. Se questo parametro viene omesso interamente o impostato su un valore Null, Direct2D userà l'intera bitmap di origine per tutti gli sprite aggiunti.

[in, optional] colors

Tipo: const D2D1_COLOR_F*

Puntatore a una matrice contenente i colori da applicare a ogni sprite. Il colore di output è il risultato della moltiplicazione per componente del colore bitmap di origine e del colore specificato. Il colore di output non è bloccato.

Direct2D non modificherà il colore degli sprite assegnati a un valore Null. Se questo parametro viene omesso interamente o impostato su un valore Null, Direct2D non modificherà il colore di uno degli sprite aggiunti.

[in, optional] transforms

Tipo: const D2D1_MATRIX_3X2_F*

Puntatore a una matrice contenente le trasformazioni da applicare al rettangolo di destinazione di ogni sprite.

Direct2D non trasformerà il rettangolo di destinazione di tutti gli sprite assegnati a un valore Null. Se questo parametro viene omesso interamente o impostato su un valore Null, Direct2D non trasformerà il rettangolo di destinazione di uno degli sprite aggiunti.

destinationRectanglesStride

Tipo: UINT32

Specifica la distanza, espressa in byte, tra ogni rettangolo nella matrice destinationRectangles. Se si specifica uno stride pari a 0, verrà usato lo stesso rettangolo di destinazione per ogni sprite aggiunto.

sourceRectanglesStride

Tipo: UINT32

Specifica la distanza, espressa in byte, tra ogni rettangolo nella matrice sourceRectangles (se viene specificata tale matrice). Se si specifica uno stride pari a 0, verrà usato lo stesso rettangolo di origine per ogni sprite aggiunto.

colorsStride

Tipo: UINT32

Specifica la distanza, espressa in byte, tra ogni colore nella matrice di colori (se viene specificata tale matrice). Se si specifica uno stride pari a 0, verrà usato lo stesso colore per ogni sprite aggiunto.

transformsStride

Tipo: UINT32

Specifica la distanza, espressa in byte, tra ogni trasformazione nella matrice transforms (se viene specificata tale matrice). Se si specifica uno stride pari a 0, verrà usata la stessa trasformazione per ogni sprite aggiunto.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

In Direct2D uno sprite è definito da quattro proprietà: un rettangolo di destinazione, un rettangolo di origine, un colore e una trasformazione. I rettangoli di destinazione sono obbligatori, ma le proprietà rimanenti sono facoltative.

Nota Omettere o passare sempre un valore Null per le proprietà che non si desidera utilizzare. Ciò consente a Direct2D di evitare di archiviare i valori per tali proprietà e di ignorare completamente la gestione, migliorando così la velocità di disegno. Si supponga, ad esempio, di avere un batch di 500 sprite e di non trasformare alcun rettangolo di destinazione. Invece di passare una matrice di matrici Identity, è sufficiente omettere il parametro transforms. Ciò consente a Direct2D di evitare di archiviare eventuali trasformazioni e di ottenere le prestazioni di disegno più veloci. D'altra parte, se uno sprite nel batch ha un valore impostato per una proprietà, Direct2D deve allocare internamente lo spazio per tale matrice di proprietà e assegnare a ogni sprite un valore per tale proprietà (anche se è solo il valore predefinito).
 

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d2d1_3.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

ID2D1SpriteBatch