Graphics.GetNearestColor(Color) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
Parameters
Returns
A Color structure that represents the nearest color to the one specified with the color
parameter.
Examples
The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e
, which is a parameter of the Paint event handler. The code performs the following actions:
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.
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