zoukankan      html  css  js  c++  java
  • WPF:将HTML RGB颜色值转化为Color对象的两种方式

     (1)方式一:

     Color color1 = (Color)System.Windows.Media.ColorConverter.ConvertFromString("#E0E0E0");
    

    (2)方式二:

    Color color2 = ConvertToColor("#E0E0E0");
    

      

    public static System.Windows.Media.Color ConvertToColor(string value)
    {
           int r = 0, g = 0, b = 0;
           if (value.StartsWith("#"))
           {
                int v = Convert.ToInt32(value.Substring(1), 16);
                r = (v >> 16) & 255; g = (v >> 8) & 255; b = v & 255;
           }
    
           return System.Windows.Media.Color.FromRgb(Convert.ToByte(r), Convert.ToByte(g), Convert.ToByte(b));
    }
    记住:如果是将RGB(128,24,34)转换为十六进制,可以分别将数字转换为十六进制:
            public string toHex(int digit)
            {
                string hexDigit = digit.ToString("X");
                if (hexDigit.Length == 1)
                {
                    hexDigit = "0" + hexDigit;
                }
                return hexDigit;
            }
    

      然后拼接得到十六进制:

    string colorCode = "#" +toHex(Color.R) +toHex(Color.G) +toHex(Color.B);
    

      

    (3)方法三

            private static Color CreateColorFromString(string s)
            {
                if (string.Compare(s, "None") == 0)
                {
                    return Colors.Transparent;
                }
                s = s.Replace("#", "");
                byte result = 0;
                byte num2 = 0;
                byte num3 = 0;
                byte num4 = 0;
                byte.TryParse(s.Substring(0, 2), NumberStyles.HexNumber, (IFormatProvider)null, out result);
                byte.TryParse(s.Substring(2, 2), NumberStyles.HexNumber, (IFormatProvider)null, out num2);
                byte.TryParse(s.Substring(4, 2), NumberStyles.HexNumber, (IFormatProvider)null, out num3);
                byte.TryParse(s.Substring(6, 2), NumberStyles.HexNumber, (IFormatProvider)null, out num4);
                return System.Windows.Media.Color.FromArgb(result, num2, num3, num4);
            }

      

  • 相关阅读:
    JDK 1.7.0 安装后,如何配置,以及如何打开JAR文件
    C++中的内存!(转载)堆 栈 全局/static变量区 常量区
    学习.net应该知道什么
    SQL Group By
    编码
    ASP生成静态Html文件技术杂谈
    如何写出优秀的ASP应用
    DropDownList的绑定方法
    如何提高WEB程序的效率
    什么才是提高ASP性能的最佳选择
  • 原文地址:https://www.cnblogs.com/wangnmhb/p/4063442.html
Copyright © 2011-2022 走看看