System.Drawing.ColorTranslator.FromHtml C# (CSharp) Method

FromHtml() public static method

public static FromHtml ( string color, float alpha = 1.0f ) : Color
color string
alpha float
return Color
        public static Color FromHtml(string color, float alpha = 1.0f)
        {
            color = color.Replace ("#", "").Replace (" ", "").Trim ();

            if (alpha > 1.0f)
            {
                alpha = 1.0f;
            }

            if (alpha < 0.0f)
            {
                alpha = 0.0f;
            }

            int A = 0, R = 0, G = 0, B = 0;

            switch (color.Length)
            {
                case 3 : // #RGB
                {
                    A = (int)(alpha * 255);

                    R = Convert.ToInt32(string.Format("{0}{0}", color.Substring(0, 1)), 16);

                    G = Convert.ToInt32(string.Format("{0}{0}", color.Substring(1, 1)), 16);

                    B = Convert.ToInt32(string.Format("{0}{0}", color.Substring(2, 1)), 16);

                    break;
                }

                case 4 : // #ARGB
                {
                    A = Convert.ToInt32(string.Format("{0}{0}", color.Substring(0, 1)), 16);

                    R = Convert.ToInt32(string.Format("{0}{0}", color.Substring(1, 1)), 16);

                    G = Convert.ToInt32(string.Format("{0}{0}", color.Substring(2, 1)), 16);

                    B = Convert.ToInt32(string.Format("{0}{0}", color.Substring(3, 1)), 16);

                    break;
                }

                case 6 : // #RRGGBB
                {
                    A = (int)(alpha * 255);

                    R = Convert.ToInt32(color.Substring(0, 2), 16);

                    G = Convert.ToInt32(color.Substring(2, 2), 16);

                    B = Convert.ToInt32(color.Substring(4, 2), 16);

                    break;
                }

                case 8 : // #RRGGBB
                {
                    A = Convert.ToInt32(color.Substring(0, 2), 16);

                    R = Convert.ToInt32(color.Substring(2, 2), 16);

                    G = Convert.ToInt32(color.Substring(4, 2), 16);

                    B = Convert.ToInt32(color.Substring(6, 2), 16);

                    break;
                }
            }

            return Color.FromArgb (A, R, G, B);
        }
ColorTranslator