ID2D1RenderTarget::Clear メソッド

指定した色の描画領域をクリアします。

オーバーロードの一覧

メソッド 説明
Clear(D2D1_COLOR_F*) 指定した色の描画領域をクリアします。
Clear(D2D1_COLOR_F&) 指定した色の描画領域をクリアします。

解説

Direct2D は clearColor を直線アルファとして解釈します (事前乗算されません)。 レンダー ターゲットのアルファ モードが D2D1_ALPHA_MODE_IGNORE場合、 clearColor のアルファ チャネルは無視され、1.0f (完全に不透明) に置き換えられます。

レンダー ターゲットにアクティブなクリップ ( PushAxisAlignedClip で指定) がある場合、clear コマンドはクリップ領域内の領域にのみ適用されます。

次の例では、 Clear メソッドを使用して、他のコンテンツをレンダリングする前に白い背景を作成します。

//  Called whenever the application needs to display the client
//  window. This method writes "Hello, World"
//
//  Note that this function will automatically discard device-specific
//  resources if the Direct3D device disappears during function
//  invocation, and will recreate the resources the next time it's
//  invoked.
//
HRESULT DemoApp::OnRender()
{
    HRESULT hr;

    hr = CreateDeviceResources();

    if (SUCCEEDED(hr))
    {
        static const WCHAR sc_helloWorld[] = L"Hello, World!";

        // Retrieve the size of the render target.
        D2D1_SIZE_F renderTargetSize = m_pRenderTarget->GetSize();

        m_pRenderTarget->BeginDraw();

        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());

        m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));

        m_pRenderTarget->DrawText(
            sc_helloWorld,
            ARRAYSIZE(sc_helloWorld) - 1,
            m_pTextFormat,
            D2D1::RectF(0, 0, renderTargetSize.width, renderTargetSize.height),
            m_pBlackBrush
            );

        hr = m_pRenderTarget->EndDraw();

        if (hr == D2DERR_RECREATE_TARGET)
        {
            hr = S_OK;
            DiscardDeviceResources();
        }
    }

    return hr;
}

必要条件

要件
ライブラリ
D2d1.lib
[DLL]
D2d1.dll

関連項目

ID2D1RenderTarget