【问题标题】:How do I convert RGB decimal to Hex colors in JavaScript?如何在 JavaScript 中将 RGB 十进制颜色转换为十六进制颜色?
【发布时间】:2016-12-27 15:51:14
【问题描述】:

我在表单中有 RGB 颜色:

[0.00784, 0.62745, 0.77647]

我想将它们转换为十六进制颜色,但我不确定如何。我见过其他类型的 RGB 组件转换为十六进制,但不是这种格式。

【问题讨论】:

  • 它只是从0到1的标准化版本吗?如果是这样,只需*255 并执行rgb to hex conversion

标签: javascript colors converter rgb


【解决方案1】:

将所有值乘以 255,四舍五入,然后使用来自this question 的解。

const componentToHex = c => {
  const hex = c.toString(16)
  return hex.length === 1 ? '0' + hex : hex
}

const rgbToHex = (r, g, b) => '#' + [r, g, b].map(componentToHex).join('')

const rgb = [0.00784, 0.62745, 0.77647].map(x => Math.round(x * 255))
console.log(rgbToHex(...rgb))

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 2022-08-10
    • 2019-10-29
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多