Compartir a través de


Graphics.GetNearestColor(Color) Método

Definición

Obtiene el color más cercano a la estructura de Color especificada.

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

Parámetros

color
Color

Color estructura para la que se va a buscar una coincidencia.

Devoluciones

Estructura Color que representa el color más cercano al especificado con el parámetro color.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Crea un color arbitrario con coordenadas ARGB (255, 165, 63, 136).

  • Crea un pincel sólido y establece su color en el color especificado.

  • Rellena una elipse con el color arbitrario.

  • Crea un segundo color y establece su valor en el color ARGB del sistema más cercano.

  • Rellena una segunda elipse con este color.

El resultado es dos puntos suspensivos: el primero dibujado con el color especificado arbitrario y el segundo dibujado con el color del sistema más próximo al color especificado.

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

Se aplica a