Exemple #1
0
        public static Color InvertColor(Color color)
        {
            ColorF colorFloat = new ColorF(color);
            double hue0To1;
            double saturation0To1;
            double lightness0To1;

            colorFloat.GetHSL(out hue0To1, out saturation0To1, out lightness0To1);
            ColorF colorInvertedFloat = ColorF.FromHSL(hue0To1, saturation0To1, 1 - lightness0To1);
            Color  invertedColor      = new Color(
                colorInvertedFloat.Red0To255,
                colorInvertedFloat.Green0To255,
                colorInvertedFloat.Blue0To255,
                // and don't change the alpha value
                color.alpha);

            return(invertedColor);
        }