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 に設定し、アルファ モードを D2D1_ALPHA_MODE_PREMULTIPLIED または D2D1_ALPHA_MODE_IGNOREに設定します。 ピクセル形式の詳細については、「 サポートされているピクセル形式とアルファ モード」を参照してください。
[out] dcRenderTarget
種類: ID2D1DCRenderTarget**
このメソッドが戻ると、 dcRenderTarget には、 メソッドによって作成された ID2D1DCRenderTarget へのポインターのアドレスが含まれます。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 それ以外の場合は、 HRESULT エラー コードが返されます。
注釈
DC レンダー ターゲットを使用してレンダリングする前に、レンダー ターゲットの BindDC メソッドを使用して GDI DC に関連付ける必要があります。 これは、異なる DC ごとに、描画する領域のサイズが変更されるたびに行います。
DC レンダー ターゲットが GDI で動作できるようにするには、レンダー ターゲットの DXGI 形式を DXGI_FORMAT_B8G8R8A8_UNORM に設定し、アルファ モードを D2D1_ALPHA_MODE_PREMULTIPLIED または D2D1_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_pD2DFactory は ID2D1Factory へのポインターであり、 m_pDCRT は ID2D1DCRenderTarget へのポインターです。
次のコード例では、 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 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d2d1.h |
Library | D2d1.lib |
[DLL] | D2d1.dll |