PathGradientBrush::SetSurroundColors メソッド (gdipluspath.h)
PathGradientBrush::SetSurroundColors メソッドは、このパス グラデーション ブラシのサラウンド カラーを設定します。 囲み色は、ブラシの境界パス上の不連続点に対して指定された色です。
構文
Status SetSurroundColors(
[in] const Color *colors,
[in, out] INT *count
);
パラメーター
[in] colors
種類: const Color*
囲み色を指定する Color オブジェクトの配列へのポインター。
[in, out] count
種類: INT*
入力時に、colors 配列内の Color オブジェクトの数を指定する整数へのポインター。 メソッドが成功した場合、このパラメーターは出力時に、設定されたサラウンド カラーの数を受け取ります。 メソッドが失敗した場合、このパラメーターは値を受け取りません。
戻り値
種類: 状態
メソッドが成功した場合は、Status 列挙の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
解説
パス グラデーション ブラシには、境界パスと中心点があります。 中心点は単一の色に設定されますが、境界上の複数の点に異なる色を指定できます。 たとえば、中心の色に赤を指定し、境界上の個別の点に青、緑、黄色を指定するとします。 境界に沿って移動すると、色が徐々に青から緑から黄色に変わり、青色に戻ります。 境界上の任意の点から中心点に直線に沿って移動すると、その境界ポイントの色から赤に色が変わります。
例
次の例では、三角形のパスを定義する 3 つのポイントの配列に基づいて PathGradientBrush オブジェクトを作成します。 このコードでは、3 つの Color オブジェクトの配列も初期化されます。 PathGradientBrush::SetSurroundColors メソッドの呼び出しは、カラー配列内の各色をポイント配列内の対応する (同じインデックス) ポイントに関連付けます。 パス グラデーション ブラシのサラウンド カラーを設定した後、 Graphics::FillRectangle メソッドはパス グラデーション ブラシを使用して、三角形のパスを含む四角形を描画します。
レンダリングされた三角形の 1 つのエッジが、赤から緑に徐々に変化します。 次のエッジは緑から黒に徐々に変化し、3 番目のエッジは徐々に黒から赤に変わります。 このコードでは中心の色が設定されないため、中心の色の既定値は黒です。 境界パス上の任意の点 (三角形) から中心点に直線に沿って移動すると、その境界ポイントの色から黒に色が徐々に変化します。
VOID Example_SetSurColor(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(20, 20),
Point(100, 20),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
}
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdipluspath.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |