次の方法で共有


ID2D1BitmapRenderTarget インターフェイス

CreateCompatibleRenderTarget メソッドによって作成された中間テクスチャにレンダリングします。

実装するタイミング

カスタム実装はサポートされません。

メンバー

ID2D1BitmapRenderTarget インターフェイス の継承元は次のとおりです: ID2D1RenderTarget. ID2D1BitmapRenderTarget は次のメンバーも定義します:

  • メソッド

メソッド

ID2D1BitmapRenderTarget インターフェイス は次の項目を定義します: メソッド.

メソッド 説明
GetBitmap

このレンダー ターゲットのビットマップを取得します。返されるビットマップは、描画操作に使用できます。

 

解説

ID2D1BitmapRenderTarget は、中間テクスチャに書き込みます。これは、ID2D1BitmapBrush に使用するためのパターンを作成したり、繰り返し使用される描画データをキャッシュしたりする際に役立ちます。

代わりに、WIC ビットマップに直接書き込むには、ID2D1Factory::CreateWicBitmapRenderTarget メソッドを使用します。このメソッドは、指定された WIC ビットマップに書き込む ID2D1RenderTarget を返します。例については、「イメージ ファイルとして保存するサンプル」を参照してください。

ID2D1BitmapRenderTarget オブジェクトの作成

ビットマップ レンダー ターゲットを作成するには、ID2D1RenderTarget::CreateCompatibleRenderTarget メソッドを呼び出します。

他のレンダー ターゲットと同様に、ID2D1BitmapRenderTarget はデバイス依存のリソースであり、関連付けられているデバイスが利用できなくなった場合は再作成する必要があります。詳細については、「リソースの概要」を参照してください。

次の例では、CreateCompatibleRenderTarget メソッドを使用して ID2D1BitmapRenderTarget を作成し、これを利用してグリッド パターンを描画します。グリッド パターンは、ID2D1BitmapBrush のソースとして使用されます。

  HRESULT DemoApp::CreateGridPatternBrush(
    ID2D1RenderTarget *pRenderTarget,
    ID2D1BitmapBrush **ppBitmapBrush
    )
{
    // Create a compatible render target.
    ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;
    HRESULT hr = pRenderTarget->CreateCompatibleRenderTarget(
        D2D1::SizeF(10.0f, 10.0f),
        &pCompatibleRenderTarget
        );
    if (SUCCEEDED(hr))
    {
        // Draw a pattern.
        ID2D1SolidColorBrush *pGridBrush = NULL;
        hr = pCompatibleRenderTarget->CreateSolidColorBrush(
            D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
            &pGridBrush
            );
        if (SUCCEEDED(hr))
        {
            pCompatibleRenderTarget->BeginDraw();
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.1f, 1.0f, 10.0f), pGridBrush);
            pCompatibleRenderTarget->EndDraw();

            // Retrieve the bitmap from the render target.
            ID2D1Bitmap *pGridBitmap = NULL;
            hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);
            if (SUCCEEDED(hr))
            {
                // Choose the tiling mode for the bitmap brush.
                D2D1_BITMAP_BRUSH_PROPERTIES brushProperties =
                    D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP, D2D1_EXTEND_MODE_WRAP);

                // Create the bitmap brush.
                hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap, brushProperties, ppBitmapBrush);

                pGridBitmap->Release();
            }

            pGridBrush->Release();
        }

        pCompatibleRenderTarget->Release();
    }

    return hr;
}

次のコード例では、ブラシを使用してパターンを描画します。

  // Paint a grid background.
m_pRenderTarget->FillRectangle(
    D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
    m_pGridPatternBitmapBrush
    );

この例では、コードが省略されています。完全なコードについては、「単純な Direct2D アプリケーション サンプル」を参照してください。

要件

クライアントの最小要件

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

参照

CreateCompatibleRenderTarget

ID2D1Factory::CreateWicBitmapRenderTarget