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)

Direct2D 和 Direct3D 互通性概觀

ID2D1Factory