ID2D1RenderTarget::Clear 方法

将绘图区域清除为指定的颜色。

重载列表

方法 说明
清除 (D2D1_COLOR_F*) 将绘图区域清除为指定的颜色。
清除 (D2D1_COLOR_F&) 将绘图区域清除为指定的颜色。

备注

Direct2D 将 clearColor 解释为直 alpha (非预乘) 。 如果呈现目标的 alpha 模式 为D2D1_ALPHA_MODE_IGNORE,则 忽略 clearColor 的 alpha 通道,并将其替换为 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