Microsoft.Xna.Framework.ColorExtensions.SetHSL C# (CSharp) Method

SetHSL() public static method

public static SetHSL ( this color, float h, float s, float l ) : void
color this
h float
s float
l float
return void
        public static void SetHSL(this Color color, float h, float s, float l)
        {
            if (s == 0f)
            {
                color.R = (byte)(l * 255);
                color.G = (byte)(l * 255);
                color.B = (byte)(l * 255);
            }
            else
            {
                float var_2;
                float var_1;

                if (l < 0.5)
                    var_2 = l * (1 + s);
                else
                    var_2 = (l + s) - (s * l);

                var_1 = 2 * l - var_2;

                color.R = (byte)(255 * Hue_2_RGB(var_1, var_2, h + (1 / 3)));
                color.G = (byte)(255 * Hue_2_RGB(var_1, var_2, h));
                color.B = (byte)(255 * Hue_2_RGB(var_1, var_2, h - (1 / 3)));
            }
        }