String转Color

简介: 原文:String转Color 很硬性的转换,谁知道更好的忘不吝赐教啊。 /// /// String To Color /// /// 例如#FFFF0000,红色 /// public Color ReturnColorFromString(string color) { //#FFFF0000,A,R,G,B。
原文: 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)
            };
        }


目录
相关文章
|
1月前
|
Java API 索引
String详解
String详解
25 0
|
1月前
|
算法 Linux C语言
【c++】string
【c++】string
25 1
|
9月前
|
缓存 安全 Java
关于 String 那些不得不说的那些事
关于 String 那些不得不说的那些事
String padding
String padding
77 0
string trimming
string trimming
87 0
string.gsub
string.gsub
186 0
|
缓存 安全 Java
String 为什么不可变 ?
String 为什么不可变 ?
String 为什么不可变 ?
|
Java 编译器
String那些事
String那些事
115 0
String那些事
string.punctuation
string.punctuation:找出字符串中的所有的标点 str='dfaggfgfg,fdfad' l = str.translate(None,string.punctuation) 将str按照string.punctuation规则转换,即标点符合转换成None
2487 0
1069. The Black Hole of Numbers (20) string转int
#include #include using namespace std; bool compare(char a, char b){ return a > b;} int main(int argc, cons...
934 0

热门文章

最新文章