Beispiel #1
0
        public static ChromaColor ContrastColor(this ChromaColor c)
        {
            ChromaColor color = ChromaColor.Black;
            double      a     = 1 - (0.299 * c.R + 0.587 * c.G + 0.114 * c.B) / 255;

            if (a >= 0.5)
            {
                color = ChromaColor.White;
            }
            return(color);
        }
Beispiel #2
0
        public static ChromaColor ChangeBrightnessLevel(this ChromaColor c, double multiplier)
        {
            if (multiplier == 1)
            {
                return(c);
            }
            if (multiplier <= 0)
            {
                return(ChromaColor.Black);
            }
            var R = (byte)(c.R * multiplier);
            var G = (byte)(c.G * multiplier);
            var B = (byte)(c.B * multiplier);

            return(Color.FromArgb(R, G, B).ToChromaColor());
        }
Beispiel #3
0
 private static uint ToRGBNetColor(Listener.Plugin.ChromaEffect.Implementation.Color color)
 {
     return(Listener.ImageProcessing.ColorProcessing.ToUint(color.B, color.G, color.R));
 }
Beispiel #4
0
 private static Color ToColoreColor(Listener.Plugin.ChromaEffect.Implementation.Color color)
 {
     return(new Color(color.Value));
 }
Beispiel #5
0
 public static ChromaColor ComplementColor(this ChromaColor c)
 {
     return(Color.FromArgb((int)(Color.FromArgb(c.R, c.G, c.B).ToArgb() ^ 0xFFFFFFFu)).ToChromaColor());
 }
Beispiel #6
0
 public static string ToHex(this ChromaColor c)
 {
     return($"#{c.R:X2}{c.G:X2}{c.B:X2}");
 }