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 中,子画面由四个属性定义:目标矩形、源矩形、颜色和转换。 目标矩形是必需的,但其余属性是可选的。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d2d1_3.h |
Library | D2d1.lib |
DLL | D2d1.dll |