Color.GetSaturation()不起作用?

时间:2013-01-24 15:40:04

标签: c# colors hsl

我使用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 个答案:

答案 0 :(得分:0)

哦,它确实工作了,在使用它的过滤器中的那些{}输入错误之一,我正在寻找代码,我开始在这里感知矩阵。