D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES 構造体

グラデーションの原点のオフセット、および ID2D1RadialGradientBrush のグラデーション楕円のサイズと位置を格納します。

構文

struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES {
  D2D1_POINT_2F center;
  D2D1_POINT_2F gradientOriginOffset;
  FLOAT         radiusX;
  FLOAT         radiusY;
};

メンバー

  • center
    D2D1_POINT_2F ブラシの座標空間では、グラデーション楕円の中心。
  • gradientOriginOffset
    D2D1_POINT_2F ブラシの座標空間では、グラデーション楕円の中心と相対的なグラデーション原点のオフセット。
  • radiusX
    FLOAT ブラシの座標空間では、グラデーション楕円の X 半径。
  • radiusY
    FLOAT ブラシの座標空間では、グラデーション楕円の Y 半径。

解説

centergradientOriginOffsetradiusX、または radiusY の値が異なると、生成されるグラデーションも異なります。次の図は、さまざまな角度からライトで円を照らした場合の外観を作成して、グラデーションの原点のオフセットが異なる、いくつかの放射状グラデーションを示しています。

 

原点のオフセットが異なる放射状グラデーション ブラシで描画した円を示すスクリーン ショット

 

便宜上、Direct2D には、D2D1_RADIAL_GRADIENT_BRUSH 構造体を作成するための D2D1::RadialGradientBrushProperties 関数が用意されています。

次の例では、CreateRadialGradientBrush を呼び出し、ID2D1RadialGradientBrush を作成します。D2D1::RadialGradientBrushProperties ヘルパー関数を使用して、center の値が (75, 5)、gradientOriginOffset の値が (0, 0)、および radiusXradiusY の値が 75 の D2D1_RADIAL_GRADIENT_BRUSH 構造体を作成し、その構造体を CreateRadialGradientBrush メソッドに渡します。グラデーション ブラシを使用して四角形を塗りつぶすと、次の出力が生成されます。

 

放射状グラデーション ブラシで描画された円を示すスクリーン ショット

 

  // The center of the gradient is in the center of the box.
// The gradient origin offset was set to zero(0, 0) or center in this case.
if (SUCCEEDED(hr))
{
    hr = m_pRenderTarget->CreateRadialGradientBrush(
        D2D1::RadialGradientBrushProperties(
            D2D1::Point2F(75, 75),
            D2D1::Point2F(0, 0),
            75,
            75),
        pGradientStops,
        &m_pRadialGradientBrush
        );
}

この例では、コードが省略されています。完全なコードについては、「ブラシの種類の例」を参照してください。放射状グラデーション ブラシの詳細については、「放射状グラデーション ブラシを作成する方法」および「ブラシの概要」を参照してください。

要件

クライアントの最小要件

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

サーバーの最小要件

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

ヘッダー

D2d1.h

参照

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

ブラシの概要

D2D1::RadialGradientBrushProperties

ID2D1RadialGradientBrush