ID2D1Factory::CreateDCRenderTarget メソッド
Windows グラフィックス デバイス インターフェイス (GDI) デバイス コンテキストに描画するレンダー ターゲットを作成します。
構文
virtual HRESULT CreateDCRenderTarget(
[in] const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
[out] ID2D1DCRenderTarget **dcRenderTarget
);
パラメーター
- renderTargetProperties [in]
D2D1_RENDER_TARGET_PROPERTIES レンダリング モード、ピクセル形式、リモート処理オプション、DPI 情報、およびハードウェア レンダリングに必要な最小限の DirectX サポート。デバイス コンテキスト (DC) レンダー ターゲットで GDI を使用できるようにするには、DXGI 形式を DXGI_FORMAT_B8G8R8A8_UNORM、アルファ モードを D2D1_ALPHA_MODE_PREMULTIPLIED または D2D1_ALPHA_MODE_IGNORE に設定します。ピクセル形式の詳細については、「サポートされているピクセル形式とアルファ モード」を参照してください。 - dcRenderTarget [out]
ID2D1DCRenderTarget このメソッドが返されるときに、dcRenderTarget には、このメソッドによって作成された ID2D1DCRenderTarget へのポインターのアドレスが格納されます。
戻り値
メソッドが成功した場合は、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 用のプラットフォーム更新プログラム |
サーバーの最小要件 |
Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム |
ヘッダー |
D2d1.h |
ライブラリ |
D2d1.lib |
DLL |
D2d1.dll |