ID2D1SpriteBatch::SetSprites 方法 (d2d1_3.h)

汇报此子画面批处理中指定子画面的属性。为任何属性提供 null 值都将使该子画面的该属性保持未修改。

语法

HRESULT SetSprites(
                 UINT32                  startIndex,
                 UINT32                  spriteCount,
  [in, optional] 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
);

参数

startIndex

类型: UINT32

此子画面批处理中要更新的第一个子画面的索引。

spriteCount

类型: UINT32

要用新属性更新的子画面数。 这决定了 Direct2D 将读取每个给定数组的步幅数。

[in, optional] 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。 如果向方法传递了无效值,则返回E_INVALIDARG。 在这种情况下,不会通过调用 SetSprites 来修改子画面。

要求

要求
目标平台 Windows
标头 d2d1_3.h
Library D2d1.lib
DLL D2d1.dll

另请参阅

ID2D1SpriteBatch