ID2D1Factory::CreateDxgiSurfaceRenderTarget (IDXGISurface*,constD2D1_RENDER_TARGET_PROPERTIES&,ID2D1RenderTarget**) 方法 (d2d1.h)
建立繪製到 DirectX 圖形基礎結構 (DXGI) 介面的轉譯目標。
語法
HRESULT CreateDxgiSurfaceRenderTarget(
[in] IDXGISurface *dxgiSurface,
[ref] const D2D1_RENDER_TARGET_PROPERTIES & renderTargetProperties,
[out] ID2D1RenderTarget **renderTarget
);
參數
[in] dxgiSurface
類型: IDXGISurface*
轉譯目標將繪製到其中的IDXGISurface。
[ref] renderTargetProperties
類型: const D2D1_RENDER_TARGET_PROPERTIES &
轉譯模式、圖元格式、遠端選項、DPI 資訊,以及硬體轉譯所需的最低 DirectX 支援。 如需支援圖元格式的資訊,請參閱 支援的圖元格式和 Alpha 模式。
[out] renderTarget
類型: ID2D1RenderTarget**
當這個方法傳回時,會包含這個方法所建立 之ID2D1RenderTarget 物件的指標位址。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
若要寫入 Direct3D 表面,您會取得 IDXGISurface ,並將它傳遞給 CreateDxgiSurfaceRenderTarget 方法來建立 DXGI 表面轉譯目標;然後,您可以使用 DXGI 表面轉譯目標,將 2D 內容繪製到 DXGI 表面。
DXGI 表面轉譯目標是 ID2D1RenderTarget的類型。 如同其他 Direct2D 轉譯目標,您可以使用它來建立資源並發出繪圖命令。
DXGI 表面轉譯目標和 DXGI 表面必須使用相同的 DXGI 格式。 如果您在建立轉譯目標時指定 DXGI_FORMAT_UNKOWN 格式,它會自動使用表面的格式。
DXGI 表面轉譯目標不會執行 DXGI 表面同步處理。
如需建立和使用 DXGI 表面轉譯目標的詳細資訊,請參閱 Direct2D 和 Direct3D 互操作性概觀。
若要使用 Direct2D,必須以 D3D10_CREATE_DEVICE_BGRA_SUPPORT 旗標建立提供 IDXGISurface 的 Direct3D 裝置。
當您建立轉譯目標和硬體加速可用時,您會在計算機的 GPU 上配置資源。 藉由建立轉譯目標一次並盡可能保留,即可獲得效能優勢。 您的應用程式應該建立轉譯目標一次,並在應用程式存留期間或直到轉譯目標的 EndDraw 方法傳回 D2DERR_RECREATE_TARGET 錯誤為止。 當您收到此錯誤時,您必須重新建立轉譯目標 (及其) 建立的任何資源。
範例
請參閱 ID2D1Factory::CreateDxgiSurfaceRenderTarget中的程式碼範例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d2d1.h |
程式庫 | D2d1.lib |
Dll | D2d1.dll |
另請參閱
CreateDxgiSurfaceRenderTarget (IDXGISurface,const D2D1_RENDER_TARGET_PROPERTIES,ID2D1RenderTarget)