Udostępnij przez


Jak stworzyć pędzel o jednolitym kolorze

Aby utworzyć pędzel o jednolitym kolorze, użyj metody ID2DRenderTarget::CreateSolidColorBrush i określ kolor, którym chcesz malować. Niektóre z przeciążeń CreateSolidColorBrush umożliwiają również określenie przezroczystości pędzla.

W poniższym kodzie pokazano, jak utworzyć solidny żółto-zielony pędzel do wypełnienia kwadratu oraz solidny czarny pędzel do narysowania konturu kwadratu. Kod generuje dane wyjściowe pokazane na poniższej ilustracji.

ilustracja prostokąta wypełnionego jasnożółtozielonym kolorem

  1. Zadeklaruj dwa ID2D1SolidColorBrush wskaźniki: jeden do malowania czarnego i drugi do malowania żółto-zielonego.

        ID2D1SolidColorBrush *m_pBlackBrush;
        ID2D1SolidColorBrush *m_pYellowGreenBrush;
    
  2. Wywołaj metodę CreateSolidColorBrush, aby utworzyć pędzle:

    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. Wywołaj metodę FillRectangle, aby malować wnętrze prostokąta żółtym zielonym pędzlem i metodą DrawRectangle, aby namalować kontur prostokąta za pomocą czarnego pędzla:

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

Referencja Direct2D