工具介绍
通常,一个颜色值可以有多种表示方式,如:十六进制表示法、RGB 表示法、HSL 表示法、HSV 表示法等,每种颜色表示还可以支持透明度。下面给出了十六进制颜色和 RGB 颜色互转的 JS 实现:
/**
* 十六进制转 RGB 方法,支持透明度
* @param {string} hex 颜色值的十六进制表示
* @param {float} opacity 颜色透明度
* @return {string} 颜色的 RGB 表示
*/
function hexToRgba(hex, opacity = 1) {
let red = parseInt("0x" + hex.slice(1, 3)),
green = parseInt("0x" + hex.slice(3, 5)),
blue = parseInt("0x" + hex.slice(5, 7))
return `rgba(${red},${green},${blue},${opacity})`;
}
/**
* RGB 转十六进制
* @param {string} r 红色值
* @param {string} g 绿色值
* @param {string} b 蓝色值
* @return {string} 颜色的16进制表示
*/
function rgbToHex(r, g, b) {
return ((r << 16) | (g << 8) | b).toString(16);
}
如果希望把 RGB 或十六进制颜色转换成 HSL 和 HSV 表示,请参考本站提供的 颜色转换工具。