【问题标题】:converting RGB values into HTML color code?将 RGB 值转换为 HTML 颜色代码?
【发布时间】:2011-08-03 00:28:00
【问题描述】:

如何将 RGB 值转换为 HTML 代码?

例如,使用这样的值:

red:0
blue:0
green:0
html color code = #000000

有公式可以转换吗?

【问题讨论】:

  • 你的redgreenblue的值范围是0-1还是0-255?
  • @citizen conn - 即将发布相同的链接:)
  • 是的,取值范围是 0 - 255
  • 您是否特别需要十六进制代码?您实际上可以只使用 CSS 中的 rgb 值,例如color: rgb(0,0,0);

标签: jquery html colors


【解决方案1】:

如果您不是特别需要使用十六进制值(html 颜色代码),您实际上可以只使用已有的 rgb 值。实例:http://jsfiddle.net/DdFg8/1/

color: rgb(0,0,0); /* black */

color: rgb(255,255,255); /* white */

【讨论】:

    【解决方案2】:

    您只需要将每个组件的值转换为其对应的十六进制表示,并将它们连接成一个字符串,例如:

    function colorCode(red, green, blue) {
       red = normalize(red);
       green = normalize(green);
       blue = normalize(blue);
    
       return '#' + pad(red.toString(16)) + pad(green.toString(16)) + pad(blue.toString(16)); 
    }
    
    function pad(string) {
        return string.length > 1 ? string.toUpperCase() : "0" + string.toUpperCase();
    }
    
    function normalize(color) {
        return (color < 1.0 && color > 0.0) ? Math.floor(color * 255) : color;
    }
    

    示例:http://jsfiddle.net/5TdXJ/2

    【讨论】:

      【解决方案3】:

      HTML 表示只是 rgb 值的十六进制表示

      python -c 'print "%x" % (255)'  # prints ff
      

      【讨论】:

        【解决方案4】:

        如果您在 Google 上搜索“将 RGB 转换为十六进制”,您会看到大量的在线转换器。什么 HTML(那个 # 符号字符串)是颜色的十六进制表示,其中前两个十六进制数字代表红色,中间两个数字代表绿色,最后两个数字代表蓝色。

        【讨论】: