Вы можете преобразовать известные цвета в экземпляр Color и затем сравнить яркость, используя метод GetBrightness()
:
Получает яркость оттенка-насыщенности-яркости (HSB)значение для этой цветовой структуры.Яркость варьируется от 0,0 до Blockquote 1.0, где 0,0 представляет черный цвет, а 1,0 - белый.
float brightness = Color.FromKnownColor(KnownColor.Transparent).GetBrightness();
Применительно к вашему примеру должно работать что-то вроде следующего (проверено на черный и желтый):
KnownColor knownColor = KnownColor.Yellow;
float transparentBrightness = Color.FromKnownColor(KnownColor.Transparent).GetBrightness();
float midnightBlueBrightness = Color.FromKnownColor(KnownColor.MidnightBlue).GetBrightness();
float navyBrightness = Color.FromKnownColor(KnownColor.Navy).GetBrightness();
float knownColorBrightness = Color.FromKnownColor(knownColor).GetBrightness();
if (knownColorBrightness < transparentBrightness
&& knownColorBrightness > midnightBlueBrightness
&& knownColorBrightness > navyBrightness)
{
//add it to our list
colors.Add(knownColor);
}