D2D1_RENDER_TARGET_PROPERTIES 構造体 (d2d1.h)
レンダリング オプション (ハードウェアまたはソフトウェア)、ピクセル形式、DPI 情報、リモート処理オプション、およびレンダー ターゲットの Direct3D サポート要件が含まれています。
構文
typedef struct D2D1_RENDER_TARGET_PROPERTIES {
D2D1_RENDER_TARGET_TYPE type;
D2D1_PIXEL_FORMAT pixelFormat;
FLOAT dpiX;
FLOAT dpiY;
D2D1_RENDER_TARGET_USAGE usage;
D2D1_FEATURE_LEVEL minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;
メンバー
type
レンダー ターゲットがハードウェアレンダリングとソフトウェア レンダリングのどちらを強制するかを示す 値です。 D2D1_RENDER_TARGET_TYPE_DEFAULT の値は、レンダー ターゲットが使用可能な場合はハードウェア レンダリングを使用することを指定します。それ以外の場合は、ソフトウェア レンダリングを使用します。 WIC ビットマップ レンダー ターゲットはハードウェア レンダリングをサポートしないことに注意してください。
pixelFormat
レンダー ターゲットのピクセル形式とアルファ モード。 D2D1::P ixelFormat 関数を使用して、Direct2D でピクセル形式とアルファ モードを選択するように指定するピクセル形式を作成できます。 各レンダー ターゲットでサポートされているピクセル形式とアルファ モードの一覧については、「 サポートされているピクセル形式とアルファ モード」を参照してください。
dpiX
型: FLOAT
レンダー ターゲットの水平方向の DPI。 既定の DPI を使用するには、 dpiX と dpiY を 0 に設定します。 詳細については、「解説」を参照してください。
dpiY
型: FLOAT
レンダー ターゲットの垂直方向の DPI。 既定の DPI を使用するには、 dpiX と dpiY を 0 に設定します。 詳細については、「解説」を参照してください。
usage
レンダー ターゲットをリモート処理する方法と、GDI と互換性があるかどうかを示す 値です。 D2D1_RENDER_TARGET_USAGE_NONE に設定すると、GDI と互換性のないレンダー ターゲットが作成され、使用可能な場合は Direct3D コマンド ストリーム リモート処理が使用されます。
minLevel
ハードウェア レンダリングに必要な最小 Direct3D 機能レベルを指定する 値。 指定した最小レベルが使用できない場合、レンダー ターゲットは 、型 メンバーが D2D1_RENDER_TARGET_TYPE_DEFAULT に設定されている場合にソフトウェア レンダリングを使用します。 type が D2D1_RENDER_TARGET_TYPE_HARDWARE に設定されている場合、レンダー ターゲットの作成は失敗します。 D2D1_FEATURE_LEVEL_DEFAULTの値は、デバイスの Direct3D 機能レベルが適切かどうかを Direct2D が判断する必要があることを示します。 このフィールドは、 ID2D1HwndRenderTarget オブジェクトと ID2D1DCRenderTarget オブジェクトを作成する場合にのみ使用されます。
注釈
この構造体は、レンダー ターゲットを作成するときに使用するか、ID2D1RenderTarget::IsSupported メソッドと共に使用して、既存のレンダー ターゲットでサポートされるプロパティをチェックします。
便宜上、Direct2D には、D2D1_RENDER_TARGET_PROPERTIES構造体を作成するための D2D1::RenderTargetProperties ヘルパー関数が用意されています。 ほとんどのレンダー ターゲットで機能する D2D1_RENDER_TARGET_PROPERTIES 構造を簡単に作成するには、パラメーターを指定せずに 関数を呼び出します。 これにより、フィールドが既定値に設定された D2D1_RENDER_TARGET_PROPERTIES 構造体が作成されます。 詳細については、「 D2D1::RenderTargetProperties」を参照してください。
すべてのレンダー ターゲットがハードウェア レンダリングをサポートしているわけではありません。 一覧については、「 レンダー ターゲットの概要」を参照してください。
既定の DPI 設定の使用
既定の DPI を使用するには、 dpiX と dpiY を 0 に設定します。 既定の DPI は、レンダー ターゲットによって異なります。- 互換性のあるレンダー ターゲットの場合、既定の DPI は親レンダー ターゲットの DPI です。
- ID2D1HwndRenderTarget の場合、既定の DPI はレンダー ターゲットの ID2D1Factory から取得されたシステム DPI です。
- その他のレンダー ターゲットの場合、既定の DPI は 96 です。
例
次の例では、 D2D1::RenderTargetProperties 関数を使用して、ほとんどのレンダー ターゲットに適した D2D1_RENDER_TARGET_PROPERTIES 構造を作成します。
RECT rc;
GetClientRect(m_hwnd, &rc);
D2D1_SIZE_U size = D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top
);
// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
Header | d2d1.h |