共用方式為


ID2D1Factory::CreateDCRenderTarget 方法 (d2d1.h)

建立繪製到 Windows 圖形裝置介面的轉譯目標, (GDI) 裝置內容。

語法

HRESULT CreateDCRenderTarget(
  [in]  const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
  [out] ID2D1DCRenderTarget                 **dcRenderTarget
);

參數

[in] renderTargetProperties

類型: const D2D1_RENDER_TARGET_PROPERTIES*

轉譯模式、圖元格式、遠端選項、DPI 資訊,以及硬體轉譯所需的最低 DirectX 支援。 若要讓裝置內容 (DC) 轉譯目標搭配 GDI 使用,請將 DXGI 格式設定為 DXGI_FORMAT_B8G8R8A8_UNORM ,並將 Alpha 模式設定為 D2D1_ALPHA_MODE_PREMULTIPLIEDD2D1_ALPHA_MODE_IGNORE。 如需圖元格式的詳細資訊,請參閱 支援的圖元格式和 Alpha 模式

[out] dcRenderTarget

類型: ID2D1DCRenderTarget**

當此方法傳回時, dcRenderTarget 會包含 方法所建立 之 ID2D1DCRenderTarget 的指標位址。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

您必須先使用轉譯目標的 BindDC 方法將它與 GDI DC 產生關聯,才能使用 DC 轉譯目標。 請針對每個不同的 DC 執行這項操作,並在您想要繪製的區域大小有所變更時執行此動作。

若要讓 DC 轉譯目標能夠使用 GDI,請將轉譯目標的 DXGI 格式設定為 DXGI_FORMAT_B8G8R8A8_UNORM ,並將 Alpha 模式設定為 D2D1_ALPHA_MODE_PREMULTIPLIEDD2D1_ALPHA_MODE_IGNORE

您的應用程式應該建立轉譯目標一次,並保留應用程式存留期,或直到轉譯目標的 EndDraw 方法傳回 D2DERR_RECREATE_TARGET 錯誤為止。 當您收到此錯誤時,請重新建立轉譯目標 (及其) 建立的任何資源。

範例

下列程式代碼會建立DC轉譯目標。

// Create a DC render target.
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
    D2D1_RENDER_TARGET_TYPE_DEFAULT,
    D2D1::PixelFormat(
        DXGI_FORMAT_B8G8R8A8_UNORM,
        D2D1_ALPHA_MODE_IGNORE),
    0,
    0,
    D2D1_RENDER_TARGET_USAGE_NONE,
    D2D1_FEATURE_LEVEL_DEFAULT
    );

hr = m_pD2DFactory->CreateDCRenderTarget(&props, &m_pDCRT);

在上述程序代碼中, m_pD2DFactoryID2D1Factory的指標, m_pDCRTID2D1DCRenderTarget的指標。

下一個程式代碼範例會將DC系結至 ID2D1DCRenderTarget

HRESULT DemoApp::OnRender(const PAINTSTRUCT &ps)
{

// Get the dimensions of the client drawing area.
GetClientRect(m_hwnd, &rc);

// Bind the DC to the DC render target.
hr = m_pDCRT->BindDC(ps.hdc, &rc);

規格需求

需求
最低支援的用戶端 適用於 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

另請參閱

Direct2D 和 GDI 互操作概觀

ID2D1Factory

支援的像素格式和 Alpha 模式