Graphics.GetNearestColor(Color) メソッド

定義

指定した Color 構造体に最も近い色を取得します。Gets the nearest color to the specified Color structure.

public:
 System::Drawing::Color GetNearestColor(System::Drawing::Color color);
public System.Drawing.Color GetNearestColor (System.Drawing.Color color);
member this.GetNearestColor : System.Drawing.Color -> System.Drawing.Color

パラメーター

color
Color

一致する対象を検索する Color 構造体。Color structure for which to find a match.

戻り値

color パラメーターで指定された色に最も近い色を表す Color 構造体。A Color structure that represents the nearest color to the one specified with the color parameter.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • ARGB 座標 (255、165、63、136) を使用して任意の色を作成します。Creates an arbitrary color with ARGB coordinates (255, 165, 63, 136).

  • 純色のブラシを作成し、その色を指定した色に設定します。Creates a solid brush and sets its color to the specified color.

  • 任意の色を使用して楕円を塗りつぶします。Fills an ellipse using the arbitrary color.

  • 2番目の色を作成し、その値を最も近いシステム ARGB 色に設定します。Creates a second color and sets its value to the nearest system ARGB color.

  • 2番目の楕円をこの色で塗りつぶします。Fills a second ellipse with this color.

結果は、2つの省略記号 (任意の指定色で描画された最初の楕円) と、指定した色に最も近いシステムカラーで描画された2つの楕円です。The result is two ellipses: the first drawn with the arbitrary specified color and the second drawn with the system color nearest the specified color.

public:
   void GetNearestColorColor( PaintEventArgs^ e )
   {
      // Create solid brush with arbitrary color.
      Color arbColor = Color::FromArgb( 255, 165, 63, 136 );
      SolidBrush^ arbBrush = gcnew SolidBrush( arbColor );

      // Fill ellipse on screen.
      e->Graphics->FillEllipse( arbBrush, 0, 0, 200, 100 );

      // Get nearest color.
      Color realColor = e->Graphics->GetNearestColor( arbColor );
      SolidBrush^ realBrush = gcnew SolidBrush( realColor );

      // Fill ellipse on screen.
      e->Graphics->FillEllipse( realBrush, 0, 100, 200, 100 );
   }
private void GetNearestColorColor(PaintEventArgs e)
{
    // Create solid brush with arbitrary color.
    Color arbColor = Color.FromArgb(255, 165, 63, 136);
    SolidBrush arbBrush = new SolidBrush(arbColor);

    // Fill ellipse on screen.
    e.Graphics.FillEllipse(arbBrush, 0, 0, 200, 100);

    // Get nearest color.
    Color realColor = e.Graphics.GetNearestColor(arbColor);
    SolidBrush realBrush = new SolidBrush(realColor);

    // Fill ellipse on screen.
    e.Graphics.FillEllipse(realBrush, 0, 100, 200, 100);
}
Private Sub GetNearestColorColor(ByVal e As PaintEventArgs)

    ' Create solid brush with arbitrary color.
    Dim arbColor As Color = Color.FromArgb(255, 165, 63, 136)
    Dim arbBrush As New SolidBrush(arbColor)

    ' Fill ellipse on screen.
    e.Graphics.FillEllipse(arbBrush, 0, 0, 200, 100)

    ' Get nearest color.
    Dim realColor As Color = e.Graphics.GetNearestColor(arbColor)
    Dim realBrush As New SolidBrush(realColor)

    ' Fill ellipse on screen.
    e.Graphics.FillEllipse(realBrush, 0, 100, 200, 100)
End Sub

適用対象