다음을 통해 공유


ID2D1SpriteBatch::AddSprites 메서드(d2d1_3.h)

지정된 스프라이트를 이 스프라이트 일괄 처리의 끝에 추가합니다.

구문

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

매개 변수

spriteCount

형식: UINT32

추가할 스프라이트 수입니다. 이렇게 하면 Direct2D가 읽을 각 배열에 대한 보폭이 결정됩니다.

[in] destinationRectangles

형식: const D2D1_RECT_F*

대상 디바이스 컨텍스트에서 스프라이트를 그릴 위치를 지정하는 대상 사각형이 포함된 배열에 대한 포인터입니다.

[in, optional] sourceRectangles

형식: const D2D1_RECT_U*

스프라이트로 그릴 원본 비트맵의 영역을 지정하는 원본 사각형이 포함된 배열에 대한 포인터입니다. Direct2D는 null 값 또는 InfiniteRectU가 할당된 스프라이트에 대해 전체 원본 비트맵을 사용합니다. 이 매개 변수를 완전히 생략하거나 null 값으로 설정하면 Direct2D는 추가된 모든 스프라이트에 전체 원본 비트맵을 사용합니다.

[in, optional] colors

형식: const D2D1_COLOR_F*

각 스프라이트에 적용할 색이 포함된 배열에 대한 포인터입니다. 출력 색은 소스 비트맵 색과 제공된 색을 구성 요소 단위로 곱한 결과입니다. 출력 색이 고정되지 않습니다.

Direct2D는 null 값이 할당된 스프라이트의 색을 변경하지 않습니다. 이 매개 변수를 완전히 생략하거나 null 값으로 설정한 경우 Direct2D는 추가된 스프라이트의 색을 변경하지 않습니다.

[in, optional] transforms

형식: const D2D1_MATRIX_3X2_F*

각 스프라이트의 대상 사각형에 적용할 변환을 포함하는 배열에 대한 포인터입니다.

Direct2D는 null 값이 할당된 스프라이트의 대상 사각형을 변환하지 않습니다. 이 매개 변수를 완전히 생략하거나 null 값으로 설정하면 Direct2D는 추가된 스프라이트의 대상 사각형을 변환하지 않습니다.

destinationRectanglesStride

형식: UINT32

destinationRectangles 배열의 각 사각형 사이의 거리를 바이트 단위로 지정합니다. 0의 보폭을 제공하는 경우 추가된 각 스프라이트에 대해 동일한 대상 사각형이 사용됩니다.

sourceRectanglesStride

형식: UINT32

sourceRectangles 배열의 각 사각형 사이의 거리를 바이트 단위로 지정합니다(해당 배열이 지정된 경우). 0의 보폭을 제공하는 경우 추가된 스프라이트마다 동일한 원본 사각형이 사용됩니다.

colorsStride

형식: UINT32

색 배열의 각 색 사이의 거리(바이트)를 지정합니다(해당 배열이 지정된 경우). 0의 보폭을 제공하는 경우 추가된 스프라이트마다 동일한 색이 사용됩니다.

transformsStride

형식: UINT32

변환 배열의 각 변환 사이의 거리(바이트)를 지정합니다(해당 배열이 지정된 경우). 0의 보폭을 제공하는 경우 추가된 스프라이트마다 동일한 변환이 사용됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

Direct2D에서 스프라이트는 대상 사각형, 원본 사각형, 색 및 변환의 네 가지 속성으로 정의됩니다. 대상 사각형은 필수이지만 나머지 속성은 선택 사항입니다.

참고 사용하지 않으려는 속성에 대해 항상 null 값을 생략하거나 전달합니다. 이를 통해 Direct2D는 이러한 속성에 대한 값을 저장하지 않고 처리를 완전히 건너뛸 수 있으므로 그리기 속도가 향상됩니다. 예를 들어 500개의 스프라이트가 배치되어 있고 대상 사각형을 변환하지 않으려는 경우를 가정해 보겠습니다. ID 행렬 배열을 전달하는 대신 transforms 매개 변수를 생략하기만 하면 됩니다. 따라서 Direct2D는 변환을 저장하지 않고 가장 빠른 그리기 성능을 얻을 수 있습니다. 반면에 배치의 스프라이트에 속성에 대해 설정된 값이 있는 경우 내부적으로 Direct2D는 해당 속성 배열에 대한 공간을 할당하고 모든 스프라이트에 해당 속성의 값을 할당해야 합니다(기본값인 경우에도).
 

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d2d1_3.h
라이브러리 D2d1.lib
DLL D2d1.dll

추가 정보

ID2D1SpriteBatch