ID2D1GradientStopCollection インターフェイス

線状グラデーション ブラシと放射状グラデーション ブラシの D2D1_GRADIENT_STOP オブジェクトのコレクションを表します。

実装するタイミング

カスタム実装はサポートされません。

メンバー

ID2D1GradientStopCollection インターフェイス の継承元は次のとおりです: ID2D1Resource. ID2D1GradientStopCollection は次のメンバーも定義します:

  • メソッド

メソッド

ID2D1GradientStopCollection インターフェイス は次の項目を定義します: メソッド.

メソッド 説明
GetColorInterpolationGamma

グラデーション境界が補間されるガンマ空間を示します。

GetExtendMode

正規化されたグラデーション範囲外のグラデーションの動作を示します。

GetGradientStopCount

コレクション内のグラデーション境界の数を取得します。

GetGradientStops

コレクションからD2D1_GRADIENT_STOP 構造体の配列にグラデーション境界をコピーします。

 

解説

ID2D1GradientStopCollection オブジェクトの作成

ID2D1GradientStopCollection を作成するには、ID2D1RenderTarget::CreateGradientStopCollection メソッドを使用します。

グラデーション境界コレクションはデバイス依存リソースです。アプリケーションでは、グラデーション境界コレクションが使用されるレンダー ターゲットを初期化した後でグラデーション境界コレクションを作成し、レンダー ターゲットの再作成が必要になるたびにグラデーション境界コレクションを再作成する必要があります (リソースの詳細については、「リソースの概要」を参照してください)。

次の例では、グラデーション境界の配列を作成してから、そのグラデーション境界を使用して 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
        );
}

完全なコードについては、「ブラシの種類の例」を参照してください。

要件

クライアントの最小要件

Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム

サーバーの最小要件

Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム

ヘッダー

D2d1.h

ライブラリ

D2d1.lib

DLL

D2d1.dll