工具介紹
通常,一個(gè)顏色值可以有多種表示方式,如:十六進(jìn)制表示法、RGB 表示法、HSL 表示法、HSV 表示法等,每種顏色表示還可以支持透明度。下面給出了十六進(jìn)制顏色和 RGB 顏色互轉(zhuǎn)的 JS 實(shí)現(xiàn):
/**
* 十六進(jìn)制轉(zhuǎn) RGB 方法,支持透明度
* @param {string} hex 顏色值的十六進(jìn)制表示
* @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 轉(zhuǎn)十六進(jìn)制
* @param {string} r 紅色值
* @param {string} g 綠色值
* @param {string} b 藍(lán)色值
* @return {string} 顏色的16進(jìn)制表示
*/
function rgbToHex(r, g, b) {
return ((r << 16) | (g << 8) | b).toString(16);
}
如果希望把 RGB 或十六進(jìn)制顏色轉(zhuǎn)換成 HSL 和 HSV 表示,請(qǐng)參考本站提供的 顏色轉(zhuǎn)換工具。