Compartir a través de


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

Agrega los sprites especificados al final de este lote de sprite.

Sintaxis

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

Número de sprites que se van a agregar. Esto determina cuántos pasos se leerán en cada matriz determinada de Direct2D.

[in] destinationRectangles

Tipo: const D2D1_RECT_F*

Puntero a una matriz que contiene los rectángulos de destino que especifican dónde dibujar los sprites en el contexto del dispositivo de destino.

[in, optional] sourceRectangles

Tipo: const D2D1_RECT_U*

Puntero a una matriz que contiene los rectángulos de origen que especifican las regiones del mapa de bits de origen que se van a dibujar como sprites. Direct2D usará todo el mapa de bits de origen para sprites a los que se les asigna un valor NULL o InfiniteRectU. Si este parámetro se omite por completo o se establece en un valor NULL, Direct2D usará todo el mapa de bits de origen para todos los sprites agregados.

[in, optional] colors

Tipo: const D2D1_COLOR_F*

Puntero a una matriz que contiene los colores que se van a aplicar a cada sprite. El color de salida es el resultado de la multiplicación por componentes del color del mapa de bits de origen y el color proporcionado. El color de salida no está sujeta.

Direct2D no cambiará el color de los sprites asignados a un valor NULL. Si este parámetro se omite por completo o se establece en un valor NULL, Direct2D no cambiará el color de ninguno de los sprites agregados.

[in, optional] transforms

Tipo: const D2D1_MATRIX_3X2_F*

Puntero a una matriz que contiene las transformaciones que se van a aplicar al rectángulo de destino de cada sprite.

Direct2D no transformará el rectángulo de destino de ningún sprite que tenga asignado un valor NULL. Si este parámetro se omite por completo o se establece en un valor NULL, Direct2D no transformará el rectángulo de destino de ninguno de los sprites agregados.

destinationRectanglesStride

Tipo: UINT32

Especifica la distancia, en bytes, entre cada rectángulo de la matriz destinationRectangles. Si proporciona un intervalo de 0, se usará el mismo rectángulo de destino para cada sprite agregado.

sourceRectanglesStride

Tipo: UINT32

Especifica la distancia, en bytes, entre cada rectángulo de la matriz sourceRectangles (si se especifica esa matriz). Si proporciona un intervalo de 0, se usará el mismo rectángulo de origen para cada sprite agregado.

colorsStride

Tipo: UINT32

Especifica la distancia, en bytes, entre cada color de la matriz colors (si se especifica esa matriz). Si proporciona un intervalo de 0, se usará el mismo color para cada sprite agregado.

transformsStride

Tipo: UINT32

Especifica la distancia, en bytes, entre cada transformación de la matriz de transformaciones (si se especifica esa matriz). Si proporciona un intervalo de 0, se usará la misma transformación para cada sprite agregado.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

En Direct2D, un sprite se define mediante cuatro propiedades: un rectángulo de destino, un rectángulo de origen, un color y una transformación. Los rectángulos de destino son obligatorios, pero las propiedades restantes son opcionales.

Nota Omita siempre omita o pase un valor NULL para las propiedades que no desea usar. Esto permite a Direct2D evitar almacenar valores para esas propiedades y omitir su control por completo, lo que mejora la velocidad de dibujo. Por ejemplo, supongamos que tiene un lote de 500 sprites y no desea transformar ninguno de sus rectángulos de destino. En lugar de pasar una matriz de matrices de identidad, simplemente omita el parámetro transforms. Esto permite que Direct2D evite almacenar las transformaciones y producirá el rendimiento de dibujo más rápido. Por otro lado, si algún sprite del lote tiene cualquier valor establecido para una propiedad, Direct2D internamente debe asignar espacio para esa matriz de propiedades y asignar a cada sprite un valor para esa propiedad (incluso si es solo el valor predeterminado).
 

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d2d1_3.h
Library D2d1.lib
Archivo DLL D2d1.dll

Consulte también

ID2D1SpriteBatch