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
Public Function GetNearestColor (color As Color) As Color

매개 변수

color
Color

일치를 찾을 Color 구조체입니다.Color structure for which to find a match.

반환

Color

color 매개 변수로 지정된 색에 가장 가까운 색을 나타내는 Color 구조체입니다.A Color structure that represents the nearest color to the one specified with the color parameter.

예제

다음 코드 예제는 Windows Forms와 함께 사용 하도록 설계 되었으며 PaintEventArgs e 이벤트 처리기의 매개 변수인가 필요 합니다 Paint .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.

  • 두 번째 색을 만들고 해당 값을 가장 가까운 시스템 ARGB 색으로 설정 합니다.Creates a second color and sets its value to the nearest system ARGB color.

  • 두 번째 타원을이 색으로 채웁니다.Fills a second ellipse with this color.

결과는 두 개의 타원이 며, 지정 된 임의의 색을 사용 하 여 첫 번째 타원이 그려지고 지정 된 색에 가장 가까운 시스템 색을 사용 하 여 두 번째 타원이 그려집니다.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

적용 대상