0

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ですが、彩度が特定の範囲内にあるかどうかを確認すると、これは機能しません。

4

1 に答える 1

0

結局のところ、それは機能しました。それを使用したフィルターの { } 入力エラーの 1 つです。コードを調べていたところ、ここでマトリックスを感知し始めました。

于 2013-01-25T01:54:01.253 に答える