zoukankan      html  css  js  c++  java
  • C# RGB与16进制颜色转换方法

    http://www.cnblogs.com/goldarch/archive/2010/08/16/1801053.html

    #region [颜色:16进制转成RGB]
            /// <summary>
            /// [颜色:16进制转成RGB]
            /// </summary>
            /// <param name="strColor">设置16进制颜色 [返回RGB]</param>
            /// <returns></returns>
            public static System.Drawing.Color colorHx16toRGB(string strHxColor)
            {
                try
                {
                    if (strHxColor.Length == 0)
                    {//如果为空
                        return System.Drawing.Color.FromArgb(0, 0, 0);//设为黑色
                    }
                    else
                    {//转换颜色
                        return System.Drawing.Color.FromArgb(System.Int32.Parse(strHxColor.Substring(1, 2), System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(3, 2),           System.Globalization.NumberStyles.AllowHexSpecifier), System.Int32.Parse(strHxColor.Substring(5, 2), System.Globalization.NumberStyles.AllowHexSpecifier));
                    }
                }
                catch
                {//设为黑色
                    return System.Drawing.Color.FromArgb(0, 0, 0);
                }
            }
            #endregion


    #region [颜色:RGB转成16进制]
            /// <summary>
            /// [颜色:RGB转成16进制]
            /// </summary>
            /// <param name="R">红 int</param>
            /// <param name="G">绿 int</param>
            /// <param name="B">蓝 int</param>
            /// <returns></returns>
            public static string colorRGBtoHx16(int R, int G, int B)
            {
                return System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(R, G, B));
            }
    #endregion

    又:

       private string ToHexColor(Color color)
            {
                string R = Convert.ToString(color.R, 16);
                if (R == "0")
                    R = "00";
                string G = Convert.ToString(color.G, 16);
                if (G == "0")
                    G = "00";
                string B = Convert.ToString(color.B, 16);
                if (B == "0")
                    B = "00";
                string HexColor = "#" + R + G + B;
                return HexColor;
            }

        public string ForeColor

        {

            set

            {

                 //value = #ab364f

                int r = Convert.ToInt32("0x" + value.Substring(1, 2),16);

                int g = Convert.ToInt32("0x" + value.Substring(3, 2),16);

                int b = Convert.ToInt32("0x" + value.Substring(5, 2),16);

                txtUrl.ForeColor = System.Drawing.Color.FromArgb(r,g,b);

            }

     }

  • 相关阅读:
    Arch 真好用
    Spring 自定义注解-字段注解
    Raft论文概述
    Raft成员变化(Membership Change)
    Reactor模式详解
    高性能IO之Reactor模式
    WinFrm中多线程操作窗体属性
    Reactor模式
    高并发中的线程与线程池
    二层交换机与三层交换机区别详解!
  • 原文地址:https://www.cnblogs.com/zwswood/p/4884680.html
Copyright © 2011-2022 走看看