ID2D1DeviceContext::CreateBitmapFromDxgiSurface (IDXGISurface*,constD2D1_BITMAP_PROPERTIES1*,ID2D1Bitmap1**) 方法 (d2d1_1.h)

从 DXGI 图面创建位图,该图面可以设置为目标图面或指定其他颜色上下文信息。

语法

HRESULT CreateBitmapFromDxgiSurface(
  [in]           IDXGISurface                  *surface,
  [in, optional] const D2D1_BITMAP_PROPERTIES1 *bitmapProperties,
  [out]          ID2D1Bitmap1                  **bitmap
);

参数

[in] surface

类型: IDXGISurface*

可以从中创建位图的 DXGI 图面。

注意 DXGI 图面必须是从与 Direct2D 设备上下文关联的同一 Direct3D 设备创建的。
 

[in, optional] bitmapProperties

类型: const D2D1_BITMAP_PROPERTIES1*

除图面外指定的位图属性。

[out] bitmap

类型: ID2D1Bitmap1**

此方法返回时,包含指向新位图对象的指针的地址。

返回值

类型: HRESULT

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

HRESULT 说明
S_OK 未发生错误。
E_OUTOFMEMORY Direct2D 无法分配足够的内存来完成调用。
E_INVALIDARG 传递给方法的值无效。
D3DERR_OUTOFVIDEOMEMORY Direct3D 没有足够的显示内存来执行该操作。

注解

如果未指定位图属性,则假定以下信息:

  • 位图 DPI 为 96。
  • 像素格式与图面的像素格式匹配。
  • 返回的位图将继承 DXGI 图面的绑定标志。
    • 但是,只会继承对 Direct2D 有意义的标志子集。 例如,D3D10_USAGE_DYNAMIC与任何公共 Direct2D 标志不兼容。
  • 颜色上下文未知。
  • 位图的 alpha 模式将预乘 (常见情况) 或直 (A8) 。
如果指定了位图属性,则将按如下所示使用位图属性:
  • 位图 DPI 将由位图属性指定。
  • 如果 dpiX 和 dpiY 均为 0,则位图 DPI 将为 96。
  • 像素格式必须与图面的着色器资源视图或呈现目标视图兼容。
  • 位图选项必须与 DXGI 图面的绑定标志兼容。 但是,它们可能是子集。 这将影响位图创建的资源视图。
  • 如果指定,将从位图属性中使用颜色上下文信息。

要求

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

另请参阅

D2D1_BITMAP_PROPERTIES1

ID2D1Bitmap1

ID2D1DeviceContext

ID2D1DeviceContext::SetTarget