Método ID2D1SpriteBatch::AddSprites (d2d1_3.h)

Adiciona os sprites determinados ao final deste lote de sprite.

Sintaxe

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

Parâmetros

spriteCount

Tipo: UINT32

O número de sprites a serem adicionados. Isso determina quantos passos em cada matriz fornecida Direct2D lerá.

[in] destinationRectangles

Tipo: const D2D1_RECT_F*

Um ponteiro para uma matriz que contém os retângulos de destino que especificam onde desenhar os sprites no contexto do dispositivo de destino.

[in, optional] sourceRectangles

Tipo: const D2D1_RECT_U*

Um ponteiro para uma matriz que contém os retângulos de origem que especificam as regiões do bitmap de origem a serem desenhadas como sprites. Direct2D usará todo o bitmap de origem para sprites que recebem um valor nulo ou InfiniteRectU. Se esse parâmetro for omitido inteiramente ou definido como um valor nulo, Direct2D usará todo o bitmap de origem para todos os sprites adicionados.

[in, optional] colors

Tipo: const D2D1_COLOR_F*

Um ponteiro para uma matriz que contém as cores a serem aplicadas a cada sprite. A cor de saída é o resultado da multiplicação em termos de componente da cor do bitmap de origem e da cor fornecida. A cor de saída não está presa.

Direct2D não alterará a cor dos sprites atribuídos a um valor nulo. Se esse parâmetro for omitido inteiramente ou definido como um valor nulo, Direct2D não alterará a cor de nenhum dos sprites adicionados.

[in, optional] transforms

Tipo: const D2D1_MATRIX_3X2_F*

Um ponteiro para uma matriz que contém as transformações a serem aplicadas ao retângulo de destino de cada sprite.

Direct2D não transformará o retângulo de destino de nenhum sprite atribuído a um valor nulo. Se esse parâmetro for omitido inteiramente ou definido como um valor nulo, Direct2D não transformará o retângulo de destino de nenhum dos sprites adicionados.

destinationRectanglesStride

Tipo: UINT32

Especifica a distância, em bytes, entre cada retângulo na matriz destinationRectangles. Se você fornecer um passo de 0, o mesmo retângulo de destino será usado para cada sprite adicionado.

sourceRectanglesStride

Tipo: UINT32

Especifica a distância, em bytes, entre cada retângulo na matriz sourceRectangles (se essa matriz for fornecida). Se você fornecer um passo de 0, o mesmo retângulo de origem será usado para cada sprite adicionado.

colorsStride

Tipo: UINT32

Especifica a distância, em bytes, entre cada cor na matriz de cores (se essa matriz for fornecida). Se você fornecer um passo de 0, a mesma cor será usada para cada sprite adicionado.

transformsStride

Tipo: UINT32

Especifica a distância, em bytes, entre cada transformação na matriz de transformações (se essa matriz for fornecida). Se você fornecer um passo de 0, a mesma transformação será usada para cada sprite adicionado.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Em Direct2D, um sprite é definido por quatro propriedades: um retângulo de destino, um retângulo de origem, uma cor e uma transformação. Retângulos de destino são obrigatórios, mas as propriedades restantes são opcionais.

Nota Sempre omita ou passe um valor nulo para propriedades que você não deseja usar. Isso permite que Direct2D evite armazenar valores para essas propriedades e ignore totalmente sua manipulação, o que melhora a velocidade do desenho. Por exemplo, suponha que você tenha um lote de 500 sprites e não queira transformar nenhum dos retângulos de destino. Em vez de passar uma matriz de matrizes de identidade, basta omitir o parâmetro transforms. Isso permite que Direct2D evite armazenar transformações e produzirá o desempenho de desenho mais rápido. Por outro lado, se qualquer sprite no lote tiver qualquer valor definido para uma propriedade, internamente Direct2D deverá alocar espaço para essa matriz de propriedades e atribuir a cada sprite um valor para essa propriedade (mesmo que seja apenas o valor padrão).
 

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d2d1_3.h
Biblioteca D2d1.lib
DLL D2d1.dll

Confira também

ID2D1SpriteBatch