String转Color

杰克.陈 2018-08-28

string static parse

原文:String转Color

很硬性的转换,谁知道更好的忘不吝赐教啊。

        /// <summary>
        /// String To Color
        /// </summary>
        /// <param name="color">例如#FFFF0000,红色</param>
        /// <returns></returns>
        public Color ReturnColorFromString(string color)
        {
            //#FFFF0000,A,R,G,B。
            color = color.Substring(1, color.Length - 1);
            string alpha = color.Substring(0, 2);
            string red = color.Substring(2, 2);
            string green = color.Substring(4, 2);
            string blue = color.Substring(6, 2);
            byte alphaByte = Convert.ToByte(alpha, 16);
            byte redByte = Convert.ToByte(red, 16);
            byte greenByte = Convert.ToByte(green, 16);
            byte blueByte = Convert.ToByte(blue, 16);
            return Color.FromArgb(alphaByte, redByte, greenByte, blueByte);
        }


        public static Color ToColor(this string colorName)
        {
            if (colorName.StartsWith("#")) 
                colorName = colorName.Replace("#", string.Empty);
            var v = int.Parse(colorName, System.Globalization.NumberStyles.HexNumber);
            return new Color
            {
                A = Convert.ToByte((v >> 24) & 255),
                R = Convert.ToByte((v >> 16) & 255),
                G = Convert.ToByte((v >> 8) & 255),
                B = Convert.ToByte((v >> 0) & 255)
            };
        }


登录 后评论
下一篇
corcosa
14463人浏览
2019-10-08
相关推荐
WPF常用转换
304人浏览
2013-12-26 21:41:00
【转】C#生成验证码
476人浏览
2017-11-26 18:17:00
【转】C#生成验证码
900人浏览
2016-05-23 15:03:50
[转]Linq to SQL中的实体继承
526人浏览
2008-05-11 15:00:00
【转】C#生成验证码
438人浏览
2017-11-26 14:08:00
【转】C#生成验证码
404人浏览
2017-11-26 15:26:00
整数转COLOR一方法
246人浏览
2015-03-09 14:28:08
WPF中的一些常用类型转换
279人浏览
2018-09-05 00:11:00
0
0
0
398