ID2D1Bitmap::CopyFromMemory 方法 (d2d1.h)

将指定区域从内存复制到当前位图。

语法

HRESULT CopyFromMemory(
  [in, optional] const D2D1_RECT_U *dstRect,
  [in]           const void        *srcData,
                 UINT32            pitch
);

参数

[in, optional] dstRect

类型: const D2D1_RECT_U*

在当前位图中,由 srcRect 指定的区域复制到的矩形。

[in] srcData

类型: const void*

要复制的数据。

pitch

类型: UINT32

存储在 srcData 中的源位图的步幅或间距。 跨度是扫描线的字节计数(内存中的一行像素)。 可按以下公式计算跨度:像素宽度 * 每像素字节数 + 内存填充。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

注解

此方法不会更新当前位图的大小。 如果源位图的内容不适合当前位图,此方法将失败。 另请注意,此方法不执行格式转换;这两种位图格式应匹配。

如果此方法传递无效输入 ((如) 无效的目标矩形),可能会产生不可预知的结果,例如图像失真或设备故障。

如果位图在批处理中处于活动状态,则调用此方法可能会导致当前批刷新。 如果刷新的批处理未成功完成,此方法将失败。 但是,此方法不会清除刷新批处理的呈现器目标的错误状态。 下一次调用 EndDrawFlush 时,将返回失败的 HRESULT 和标记状态。

从 Windows 8.1 开始,此方法支持块压缩位图。 如果使用块压缩格式, 则 srcRect 参数的结束坐标必须为 4 的倍数,否则该方法返回 E_INVALIDARG

要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d2d1.h
Library D2d1.lib
DLL D2d1.dll

另请参阅

ID2D1Bitmap