Graphics.GetNearestColor(Color) Metod

Definition

Hämtar närmaste färg till den angivna Color strukturen.

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

Parametrar

color
Color

Color struktur för vilken du kan hitta en matchning.

Returer

En Color struktur som representerar närmaste färg till den som anges med parametern color .

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:

  • Skapar en godtycklig färg med ARGB-koordinater (255, 165, 63, 136).

  • Skapar en hel pensel och anger dess färg till den angivna färgen.

  • Fyller en ellips med hjälp av den godtyckliga färgen.

  • Skapar en andra färg och anger dess värde till närmaste system ARGB-färg.

  • Fyller en andra ellips med den här färgen.

Resultatet är två ellipser: den första ritad med den godtyckliga angivna färgen och den andra ritad med systemfärgen närmast den angivna färgen.

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

Gäller för