如何在JavaScript中将RGB十进制转换为十六进制颜色?

时间:2016-08-20 17:11:16

标签: javascript colors converter rgb

我的格式为RGB颜色:

[0.00784, 0.62745, 0.77647]

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

1 个答案:

答案 0 :(得分:2)

将所有值乘以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))