Поделиться через


Метод 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

Указывает расстояние в байтах между каждым преобразованием в массиве transforms (если этот массив задан). Если указать шаг 0, то для каждого добавленного спрайта будет использоваться одно и то же преобразование.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

В Direct2D спрайт определяется четырьмя свойствами: прямоугольник назначения, исходный прямоугольник, цвет и преобразование. Прямоугольники назначения являются обязательными, но остальные свойства являются необязательными.

Примечание Всегда пропускайте или передайте значение NULL для свойств, которые вы не хотите использовать. Это позволяет Direct2D избежать хранения значений для этих свойств и полностью пропустить их обработку, что повышает скорость рисования. Например, предположим, что у вас есть пакет из 500 спрайтов и вы не хотите преобразовывать какие-либо из их целевых прямоугольников. Вместо передачи массива матриц удостоверений просто опустите параметр transforms. Это позволяет Direct2D избежать сохранения преобразований и обеспечит самую высокую производительность рисования. С другой стороны, если какой-либо спрайт в пакете имеет какое-либо значение, заданное для свойства, то direct2D внутренне должен выделить место для этого массива свойств и присвоить каждому спрайту значение для этого свойства (даже если это просто значение по умолчанию).
 

Требования

Требование Значение
Целевая платформа Windows
Header d2d1_3.h
Библиотека D2d1.lib
DLL D2d1.dll

См. также раздел

ID2D1SpriteBatch