次の方法で共有


ID2D1BitmapRenderTarget インターフェイス (d2d1.h)

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

継承

ID2D1BitmapRenderTarget インターフェイスは ID2D1RenderTarget から継承されます。 ID2D1BitmapRenderTarget には、次の種類のメンバーもあります。

メソッド

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
    );

この例では、コードは省略されています。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1.h

こちらもご覧ください

CreateCompatibleRenderTarget

ID2D1Factory::CreateWicBitmapRenderTarget

ID2D1RenderTarget