function rgbaToHex(r, g, b, a) {
const red = r.toString(16).padStart(2, '0');
const green = g.toString(16).padStart(2, '0');
const blue = b.toString(16).padStart(2, '0');
const alpha = Math.round(a * 255).toString(16).padStart(2, '0');
return `#${alpha}${red}${green}${blue}`;
}
// 示例:RGBA(255, 0, 0, 0.5) 转换为十六进制颜色
const hexColor = rgbaToHex(255, 0, 0, 0.5);
console.log(hexColor); // 输出:#80ff0000
请注意,以上代码示例中的透明度值范围为0到1,需要乘以255并四舍五入取整,然后转换为十六进制。转换后的十六进制颜色中,前两位表示透明度,后面六位表示红、绿、蓝三个通道的颜色值。