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


Создание сплошной цветной кисти

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