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

レンダー ターゲットがハードウェアレンダリングとソフトウェア レンダリングのどちらを強制するかを示す 値です。 D2D1_RENDER_TARGET_TYPE_DEFAULT の値は、レンダー ターゲットが使用可能な場合はハードウェア レンダリングを使用することを指定します。それ以外の場合は、ソフトウェア レンダリングを使用します。 WIC ビットマップ レンダー ターゲットはハードウェア レンダリングをサポートしないことに注意してください。

pixelFormat

種類: D2D1_PIXEL_FORMAT

レンダー ターゲットのピクセル形式とアルファ モード。 D2D1::P ixelFormat 関数を使用して、Direct2D でピクセル形式とアルファ モードを選択するように指定するピクセル形式を作成できます。 各レンダー ターゲットでサポートされているピクセル形式とアルファ モードの一覧については、「 サポートされているピクセル形式とアルファ モード」を参照してください。

dpiX

型: FLOAT

レンダー ターゲットの水平方向の DPI。 既定の DPI を使用するには、 dpiXdpiY を 0 に設定します。 詳細については、「解説」を参照してください。

dpiY

型: FLOAT

レンダー ターゲットの垂直方向の DPI。 既定の DPI を使用するには、 dpiXdpiY を 0 に設定します。 詳細については、「解説」を参照してください。

usage

種類: D2D1_RENDER_TARGET_USAGE

レンダー ターゲットをリモート処理する方法と、GDI と互換性があるかどうかを示す 値です。 D2D1_RENDER_TARGET_USAGE_NONE に設定すると、GDI と互換性のないレンダー ターゲットが作成され、使用可能な場合は Direct3D コマンド ストリーム リモート処理が使用されます。

minLevel

種類: D2D1_FEATURE_LEVEL

ハードウェア レンダリングに必要な最小 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 を使用するには、 dpiXdpiY を 0 に設定します。 既定の DPI は、レンダー ターゲットによって異なります。
  • 互換性のあるレンダー ターゲットの場合、既定の DPI は親レンダー ターゲットの DPI です。
  • ID2D1HwndRenderTarget の場合、既定の DPI はレンダー ターゲットの ID2D1Factory から取得されたシステム DPI です。
  • その他のレンダー ターゲットの場合、既定の DPI は 96 です。
既定の DPI 設定を使用するには、 dpiXdpiY の両方を 0 に設定する必要があります。 1 つの値のみを 0 に設定すると、レンダー ターゲットを作成しようとすると E_INVALIDARG エラーが発生します。

次の例では、 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

こちらもご覧ください

ID2D1RenderTarget::IsSupported

レンダー ターゲットの概要