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
Applies to
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기