C#颜色转化

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

        }

 }

/// <summary>
   /// 功能描述: 将指定的色彩对象,转换为无符号整数
   /// 输入参数: Color,色彩对象
   /// 输出参数: uint,无符号整数
   /// </summary>
   private Color RGB(int color)
   {
   int r = 0xFF & color;
   int g = 0xFF00 & color;
   g >>= 8;
   int b = 0xFF0000 & color;
   b >>= 16;
   return Color.FromArgb(r, g, b);
   }

#000000六位制RGB颜色       =    >     Color类型颜色
string     strRGB     =     "#80ff80";  
    int     r     =     int.Parser(strRGB.Substring(1,2),System.Globalization.NumberStyles.AllowHexSpecifier);  
    int     g     =     int.Parser(strRGB.Substring(3,2),System.Globalization.NumberStyles.AllowHexSpecifier);  
    int     b     =     int.Parser(strRGB.Substring(5,2),System.Globalization.NumberStyles.AllowHexSpecifier);  
    Color     color     =     Color.FromArgb(r,g,b);

Color类型颜色     =    >     #000000六位制RGB颜色
             ColorDialog cdg = new ColorDialog();
             cdg.ShowDialog();

             this.label1.ForeColor = cdg.Color;
             Color nsColor = cdg.Color;
             NewsTitleColor = ColorTranslator.ToHtml(nsColor);
             //转换成#000000的字符串或者类型red , yellow之类的字符串


利用递增的数字返回循环渐变的颜色的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);
}

 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值