如何创建纯色画笔

若要创建纯色画笔,请使用 ID2DRenderTarget::CreateSolidColorBrush 方法并指定要绘制的颜色。 某些 CreateSolidColorBrush 重载还允许指定画笔的不透明度。

下面的代码演示如何创建实心黄绿画笔来填充正方形,创建纯黑色画笔来绘制正方形的轮廓。 代码生成下图所示的输出。

用纯黄绿色填充的矩形的插图

  1. 声明两个 ID2D1SolidColorBrush 指针:一个用于绘制黑色,一个用于绘制黄色绿色。

        ID2D1SolidColorBrush *m_pBlackBrush;
        ID2D1SolidColorBrush *m_pYellowGreenBrush;
    
  2. 调用 CreateSolidColorBrush 方法以创建画笔:

    if (SUCCEEDED(hr))
    {
        hr = m_pRenderTarget->CreateSolidColorBrush(
            D2D1::ColorF(D2D1::ColorF::Black, 1.0f),
            &m_pBlackBrush
            );
    }
    
    // Create a solid color brush with its rgb value 0x9ACD32.
    if (SUCCEEDED(hr))
    {
        hr = m_pRenderTarget->CreateSolidColorBrush(
            D2D1::ColorF(D2D1::ColorF(0x9ACD32, 1.0f)),  
            &m_pYellowGreenBrush
            );
    }
    
  3. 调用 FillRectangle 方法以使用黄色绿色画笔绘制矩形的内部,调用 DrawRectangle 方法使用黑色画笔绘制矩形轮廓:

    m_pRenderTarget->FillRectangle(&rcBrushRect, m_pYellowGreenBrush);
    m_pRenderTarget->DrawRectangle(&rcBrushRect, m_pBlackBrush, 1, NULL);
    

Direct2D 参考