• C# RGB与16进制颜色转换方法


     C# RGB与16进制颜色转换方法

     

    #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);

            }

     }

    利用递增的数字返回循环渐变的颜色的js代码

    function gCL(i){
    var f=parseInt((i%15)/5);
    i=i%15%5;
    switch(f){
    case 0:return "#"+cS2(255-i*51)+cS2(i*51)+"00";
    case 1:return "#00"+cS2(255-i*51)+cS2(i*51);
    case 2:return "#"+cS2(i*51)+"00"+cS2(255-i*51);
    }
    }
    function cS2(i) {
    var s=i.toString(16);
    return ("00"+s).substr(s.length);
    }

    使用gCL就可以利用递增的数字返回由红到绿到蓝的渐变颜色了。渐变效果如下,共15种颜色,循环渐变:

    http://kingoa.net/WEBPROGRAM/JAVASCRIPT/2010/0326/14021.html

     

    CSS颜色值的三种形式:名称、RGB、十六进制

    从理论上说,CSS可以处理的颜色数量大概是:16,777,216。够用了吧。如何表现这些颜色呢,主要是通过三种形式:

    1、名称 如:blue

    2、RGB 如:255,0,0

    3、十六进制 如:#ff6600

    如果我们要设置红色,可以是下面的形式:

    名称:red

    RGB:rgb(255,0,0)

    RGB:rgb(100%,0%,0%)

    十六进制:#ff0000

    十六进制:#f00

    CSS有十七个预先确定的颜色,它们是:

    aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, yellow.

    (注意:transparent 透明 也是一个正确的值。)

    rgb的三个值都是从0到255,0是最低级,255是最高级,这些值同样可以是百分比。

    十六进制三或六个数字长度前面带上#字符,三个长度是六个的压缩形式(短16进制),比如#00f是#0000ff的压缩,#c30是#cc3300。三位数很好理解,像rgb,第一个是红色,第二个是绿色,第三个蓝色。但六位数可以实现更多的颜色控制。

    由于web安全色只使用了00,33,66,99,cc,ff,所以我们可以使用短16进制颜色表示web安全色,0,3,6,9,c,f和长16进制可以使用的颜色数值是等价的,一共是6×6×6=216种。最初的计算机(8位计算机)上只能定义256种颜色,所以当时Windows和Macintosh运行于256色,在Netscape Navigator和Microsoft Internet Explorer上共有的颜色就被称为Web安全色.如果颜色不在这216种颜色的范围内,计算机就有可能在显示颜色的时候产生抖动现象。(抖动就是由于操作系统为了尽可能的表现某种颜色,混合两种颜色而产生的)

    在线配色的网站:ColorSchemer

    参考:
    http://www.chinaz.com/Design/Rules/0R135O22008.html
    http://www.dreamdu.com/css/color_websafe/

  • 相关阅读:
    Detect Capital
    Maximum Depth of Binary Tree
    Max Consecutive Ones
    Single Number
    Nim Game
    Longest Uncommon Subsequence I
    Average of Levels in Binary Tree
    Next Greater Element I
    Island Perimeter
    Fizz Buzz
  • 原文地址:https://www.cnblogs.com/goldarch/p/1801053.html
Copyright © 2020-2023  润新知