Поделиться через


Как создать кисть сплошного цвета

Чтобы создать сплошную кисть цвета, используйте метод 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