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 |