PathGradientBrush::SetInterpolationColors メソッド (gdipluspath.h)

PathGradientBrush::SetInterpolationColors メソッドは、このパス グラデーション ブラシの既定の色とブレンド位置を設定します。

構文

Status SetInterpolationColors(
  [in] const Color *presetColors,
  [in] const REAL  *blendPositions,
  [in] INT         count
);

パラメーター

[in] presetColors

型: const Color*

グラデーションの補間色を指定する Color オブジェクトの配列へのポインター。 presetColors 配列内の特定のインデックスの色は、blendPositions 配列内の同じインデックスのブレンド位置に対応します。

[in] blendPositions

種類: REAL*

ブレンド位置を指定する配列へのポインター。 各ブレンド位置は 0 から 1 までの数値で、0 はグラデーションの境界を示し、1 は中心点を示します。 0 ~ 1 のブレンド位置は、境界から中心点までの距離の一定の割合であるすべてのポイントのセットを指定します。 たとえば、ブレンド位置が 0.7 の場合、境界から中心点までの 70% のポイントのセットが指定されます。

[in] count

型: INT

presetColors 配列内の Color オブジェクトの数を指定する整数。 これは、 blendPositions 配列内の要素の数と同じです。

戻り値

種類: 状態

メソッドが成功した場合は、Status 列挙体の要素である Ok を返します

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

注釈

単純なパス グラデーション ブラシには、境界の色と中心の色の 2 つの色があります。 このようなブラシを使用してペイントすると、境界パスから中心点に移動すると、色が境界の色から中心の色に徐々に変化します。 より複雑なグラデーションを作成するには、事前設定された色の配列とブレンド位置の配列を指定します。

次の例では、三角形のパスに基づいて PathGradientBrush オブジェクトを作成します。 PathGradientBrush::SetInterpolationColors メソッドは、ブラシの既定の色を赤、青、アクアに設定し、ブレンド位置を 0、0、4、および 1 に設定します。 Graphics::FillRectangle メソッドは、パス グラデーション ブラシを使用して、三角形のパスを含む四角形を描画します。

VOID Example_SetInterpColors(HDC hdc)
{
   Graphics graphics(hdc);

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
   PathGradientBrush pthGrBrush(points, 3);

   Color col[] = {
      Color(255, 255, 0, 0),     // red
      Color(255, 0, 0, 255),     // blue
      Color(255, 0, 255, 255)};  // aqua

   REAL pos[] = {
      0.0f,    // red at the boundary
      0.4f,    // blue 40 percent of the way from the boundary to the center
      1.0f};   // aqua at the center

   pthGrBrush.SetInterpolationColors(col, pos, 3);
   graphics.FillRectangle(&pthGrBrush, 0, 0, 300, 300);  
}

要件

要件
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdipluspath.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

こちらもご覧ください

ブラシと図形の塗りつぶし

Color

パス グラデーションの作成

色のグラデーションで図形を塗りつぶす

PathGradientBrush

PathGradientBrush::GetInterpolationColors