Получить все насыщенные цвета, чтобы текст контрастировал на бледно-сером фоне - C#
Формулировка задачи:
Привет.
Встала задача получить все насыщенные цвета, чтобы текст контрастировал на бледно-сером фоне.
Ниже код, получаю 147 цветов, но там есть бледные которые мне не подходят.. кто может помочь?
private List<Color> GetColors() {
//create a generic list of strings
List<Color> colors = new List<Color>();
//get the color names from the Known color enum
string[] colorNames = Enum.GetNames(typeof(KnownColor));
//iterate thru each string in the colorNames array
foreach (string colorName in colorNames) {
//cast the colorName into a KnownColor
KnownColor knownColor = (KnownColor)Enum.Parse(typeof(KnownColor), colorName);
//check if the knownColor variable is a System color
if (knownColor > KnownColor.Transparent ) {
//add it to our list
colors.Add(Color.FromName(colorName));
}
}
//return the color list
return colors;
}Решение задачи: «Получить все насыщенные цвета, чтобы текст контрастировал на бледно-сером фоне»
textual
Листинг программы
private List<Color> GetColors()
{
//create a generic list of strings
List<Color> colors = new List<Color>();
//get the color names from the Known color enum
string[] colorNames = Enum.GetNames(typeof(KnownColor));
//iterate thru each string in the colorNames array
foreach (string colorName in colorNames)
{
//cast the colorName into a KnownColor
KnownColor knownColor = (KnownColor)Enum.Parse(typeof(KnownColor), colorName);
//check if the knownColor variable is a System color
if (knownColor > KnownColor.Transparent)
{
//add it to our list
var color = Color.FromName(colorName);
if (color.GetSaturation() > 0.7f)
if(color.GetBrightness() < 0.7f)
colors.Add(color);
}
}
//return the color list
return colors;
}