.NET Framework определяет перечисление KnownColor, вы можете использовать его для преобразования значения цвета в имя. Это не будет полным решением, у него нет «оранжево-желтого». Но многие из распространенных цветов присутствуют. Например:
public static Color LookupKnownColor(uint c) {
int crgb = (int)(c & 0xffffff);
foreach (KnownColor kc in Enum.GetValues(typeof(KnownColor))) {
Color map = Color.FromKnownColor(kc);
if (!map.IsSystemColor) {
if ((map.ToArgb() & 0xffffff) == crgb)
return map;
}
}
return Color.FromArgb(unchecked((int)(c | 0xff000000)));
}
Использование:
Color c = LookupKnownColor(0xffffff00);
Console.WriteLine(c.Name);
Выход: желтый