ID2D1RenderTarget::CreateGradientStopCollection メソッド

指定した構造体の配列から ID2D1GradientStopCollectionD2D1_GRADIENT_STOP 作成します。

オーバーロードの一覧

メソッド 説明
CreateGradientStopCollection(D2D1_GRADIENT_STOP*,D2D1_GAMMA,D2D1_EXTEND_MODE,ID2D1GradientStopCollection**) 指定したグラデーションストップ、カラー補間ガンマ、拡張モードから ID2D1GradientStopCollection を作成します。
CreateGradientStopCollection(D2D1_GRADIENT_STOP*,ID2D1GradientStopCollection**) D2D1_GAMMA_2_2色補間ガンマとクランプ拡張モードを使用する、指定したグラデーションの分岐点から ID2D1GradientStopCollection を作成します。

次の例では、グラデーション分岐点の配列を作成し、それらを使用して ID2D1GradientStopCollection を作成します。

// Create an array of gradient stops to put in the gradient stop
// collection that will be used in the gradient brush.
ID2D1GradientStopCollection *pGradientStops = NULL;

D2D1_GRADIENT_STOP gradientStops[2];
gradientStops[0].color = D2D1::ColorF(D2D1::ColorF::Yellow, 1);
gradientStops[0].position = 0.0f;
gradientStops[1].color = D2D1::ColorF(D2D1::ColorF::ForestGreen, 1);
gradientStops[1].position = 1.0f;
// Create the ID2D1GradientStopCollection from a previously
// declared array of D2D1_GRADIENT_STOP structs.
hr = m_pRenderTarget->CreateGradientStopCollection(
    gradientStops,
    2,
    D2D1_GAMMA_2_2,
    D2D1_EXTEND_MODE_CLAMP,
    &pGradientStops
    );

次のコード例では 、ID2D1GradientStopCollection を使用して ID2D1LinearGradientBrush を作成します。

// The line that determines the direction of the gradient starts at
// the upper-left corner of the square and ends at the lower-right corner.

if (SUCCEEDED(hr))
{
    hr = m_pRenderTarget->CreateLinearGradientBrush(
        D2D1::LinearGradientBrushProperties(
            D2D1::Point2F(0, 0),
            D2D1::Point2F(150, 150)),
        pGradientStops,
        &m_pLinearGradientBrush
        );
}

要件

要件
ヘッダー
D2d1_1.h (D2d1.h を含む)
ライブラリ
D2d1.lib
[DLL]
D2d1.dll

こちらもご覧ください

ID2D1RenderTarget

D2D1_GRADIENT_STOP

線形グラデーション ブラシを作成する方法

放射状グラデーション ブラシを作成する方法

ブラシの概要