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); }
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()); }
private static uint ToRGBNetColor(Listener.Plugin.ChromaEffect.Implementation.Color color) { return(Listener.ImageProcessing.ColorProcessing.ToUint(color.B, color.G, color.R)); }
private static Color ToColoreColor(Listener.Plugin.ChromaEffect.Implementation.Color color) { return(new Color(color.Value)); }
public static ChromaColor ComplementColor(this ChromaColor c) { return(Color.FromArgb((int)(Color.FromArgb(c.R, c.G, c.B).ToArgb() ^ 0xFFFFFFFu)).ToChromaColor()); }
public static string ToHex(this ChromaColor c) { return($"#{c.R:X2}{c.G:X2}{c.B:X2}"); }