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

How do I convert RGB decimal to Hex colors in JavaScript?

本文关键字:转换 十六进制 颜色 十进制 RGB JavaScript 中将      更新时间:2023-09-26

我有RGB颜色的形式:

[0.00784, 0.62745, 0.77647]

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

将所有值乘以255,四舍五入,然后使用本题的解

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