예제 #1
0
        public static Color GetStrongestRGBColor(this Color color)
        {
            if (color.GetBrightness() >= 0.9f)
            {
                return(Color.FromArgb(255, 33, 33, 33));
            }
            else if (color.GetBrightness() <= 0.1f)
            {
                return(Color.FromArgb(255, 222, 222, 222));
            }

            bool rMaior = false;
            bool gMaior = false;
            bool bMaior = false;

            if (color.R > color.G)
            {
                rMaior = true;
            }
            else
            {
                gMaior = true;
            }

            if (rMaior)
            {
                if (color.R > color.B)
                {
                    rMaior = true;
                }
                else
                {
                    bMaior = true;
                }
            }
            else
            {
                if (color.G > color.B)
                {
                    gMaior = true;
                }
                else
                {
                    bMaior = true;
                }
            }


            if (rMaior)
            {
                if (color.R > 127)
                {
                    return(Colors.Red);
                }
                else
                {
                    return(Color.FromArgb(255, 144, 144, 144));
                }
            }
            else if (gMaior)
            {
                if (color.G > 127)
                {
                    return(Colors.Green);
                }
                else
                {
                    return(Color.FromArgb(255, 144, 144, 144));
                }
            }
            else if (bMaior)
            {
                if (color.B > 127)
                {
                    return(Colors.Blue);
                }
                else
                {
                    return(Color.FromArgb(255, 144, 144, 144));
                }
            }
            else
            {
                return(Colors.Orange);
            }
        }
예제 #2
0
 public static bool IsDarkColor(this Color color)
 {
     return(color.GetBrightness() <= 0.5f);
 }