HSL (HSL = Heu 飽和輝度としての HSB) カラー フィルターを使用します。色を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ですが、彩度が特定の範囲内にあるかどうかを確認すると、これは機能しません。