我正在使用**JavaScript
生成随机颜色。如何知道生成的颜色是暗/亮**?
我使用的JavaScript
代码
btn.addEventListener('click', e => {
const R = Math.floor(Math.random() * 256);
const G = Math.floor(Math.random() * 256);
const B = Math.floor(Math.random() * 256);
body.style.backgroundColor = `rgb(${R}, ${G}, ${B})`;
colorText.innerText = `R: ${R} \nG: ${G} \nB: ${B}`;
});
1条答案
按热度按时间5jdjgkvh1#
正如Iłya Bursov所指出的,你可以计算HSL中的亮度分量(L)。计算方法只是
0.2126 * r + 0.7152 * g + 0.0722 * b
。因为这个值的范围是从0到255,所以你可以定义"浅色"为HSL亮度在该范围上半部分(〉128)的任何颜色,反之亦然。如下所示: