Color.GetSaturation() не работает?

Я использую цветовые фильтры HSL (HSL = HSB в качестве яркости насыщенности Heu). Чтобы преобразовать цвет в HSL, я делаю:

Color myColor = Color.FromArgb(pixel[blue], pixel[green], pixel[red]); 
int HSLhue = (int)myColor.GetHue();  // note normally its a float but i need an int
float HSLsat = myColor.GetSaturation() * 100;
float HSLlight = myColor.GetBrightness()*100; //mycolorGetBrightness allready is a float.

Проблема, с которой я столкнулся в этом коде, заключается в том, что HSLheu работает нормально, а HSLlight работает нормально, однако, когда я использую цвет с небольшим количеством серого, HSLsat не отражает правильное значение. Из того, что я прочитал об этом, должно быть 0 для серого и 1 для чистого цвета. Так что в моем случае это от 0 до 100, но если я проверю его, чтобы увидеть, попадает ли насыщенность в определенный диапазон, это не работает.

1 ответ

Ну да ладно, это сработало, одна из тех { } ошибок ввода в фильтре, который его использовал, я много искал в коде и начал ощущать матрицу здесь.

Другие вопросы по тегам