Assuming the color is in KnownColorenum, you can use ToKnownColor:
KnownColor knownColor = color.ToKnownColor();
Note the following from the MSDN docs:
ToKnownColor , FromArgb, ToKnownColor 0, ARGB ARGB .
, , - :
Color color = (Color)new ColorConverter().ConvertFromString(htmlString);
htmlString #RRGGBB.
KnownColor , ToString (. ):
string name = knownColor.ToString();
, :
string GetColourName(string htmlString)
{
Color color = (Color)new ColorConverter().ConvertFromString(htmlString);
KnownColor knownColor = color.ToKnownColor();
string name = knownColor.ToString();
return name.Equals("0") ? "Unknown" : name;
}
:
string name = GetColourName("#00FF00");
Lime.
, , , , html:
string GetColorName(Color color)
{
var colorProperties = typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static)
.Where(p => p.PropertyType == typeof(Color));
foreach (var colorProperty in colorProperties)
{
var colorPropertyValue = (Color)colorProperty.GetValue(null, null);
if (colorPropertyValue.R == color.R && colorPropertyValue.G == color.G
&& colorPropertyValue.B == color.B)
{
return colorPropertyValue.Name;
}
}
return ColorTranslator.ToHtml(color);
}