純色ブラシを作成する方法

純色ブラシを作成するには、 ID2DRenderTarget::CreateSolidColorBrush メソッドを使用し、塗りつぶす色を指定します。 CreateSolidColorBrush オーバーロードの一部では、ブラシの不透明度を指定することもできます。

次のコードは、正方形を塗りつぶす単色の黄色と緑のブラシを作成する方法と、正方形の輪郭を描画する黒の塗りつぶしブラシを作成する方法を示しています。 このコードでは、次の図に示す出力が生成されます。

黄色と緑の純色で塗りつぶされた四角形の図

  1. 2 つの ID2D1SolidColorBrush ポインターを宣言します。1 つは黒を塗り、もう 1 つは黄色の緑を塗るためのポインターです。

        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 リファレンス