Come creare un pennello a tinta unita
Per creare un pennello a colori a tinta unita, usare il metodo ID2DRenderTarget::CreateSolidColorBrush e specificare il colore con cui si vuole disegnare. Alcuni degli overload CreateSolidColorBrush consentono anche di specificare l'opacità del pennello.
Il codice seguente illustra come creare un pennello giallo-verde solido per riempire un quadrato e un pennello nero solido per disegnare la struttura del quadrato. Il codice produce l'output illustrato nella figura seguente.
Dichiarare due puntatori ID2D1SolidColorBrush : uno per disegnare nero e uno per la pittura verde giallo.
ID2D1SolidColorBrush *m_pBlackBrush; ID2D1SolidColorBrush *m_pYellowGreenBrush;
Chiamare il metodo CreateSolidColorBrush per creare i pennelli:
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 ); }
Chiamare il metodo FillRectangle per dipingere l'interno del rettangolo con il pennello verde giallo e il metodo DrawRectangle per disegnare la struttura del rettangolo con il pennello nero:
m_pRenderTarget->FillRectangle(&rcBrushRect, m_pYellowGreenBrush); m_pRenderTarget->DrawRectangle(&rcBrushRect, m_pBlackBrush, 1, NULL);
Argomenti correlati