function generateColorsArray(length) { const colors = []; const total = 360; const step = Math.floor(total / length); let hue = 0;

for (let i = 0; i < length; i++) { const saturation = Math.floor(Math.random() * 25) + 75; const lightness = Math.floor(Math.random() * 25) + 75; colors.push(#${hslToHex(hue, saturation, lightness)}); hue = (hue + step) % total; }

return colors; }

function hslToHex(h, s, l) { h /= 360; s /= 100; l /= 100; let r, g, b; if (s === 0) { r = g = b = l; } else { const hue2rgb = (p, q, t) => { if (t < 0) t += 1; if (t > 1) t -= 1; if (t < 1 / 6) return p + (q - p) * 6 * t; if (t < 1 / 2) return q; if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; return p; }; const q = l < 0.5 ? l * (1 + s) : l + s - l * s; const p = 2 * l - q; r = hue2rgb(p, q, h + 1 / 3); g = hue2rgb(p, q, h); b = hue2rgb(p, q, h - 1 / 3); } const toHex = x => { const hex = Math.round(x * 255).toString(16); return hex.length === 1 ? "0" + hex : hex; }; return ${toHex(r)}${toHex(g)}${toHex(b)}; }

console.log(generateColorsArray(5)); // Example output: ['#e1b9c2', '#b9c6e1', '#c5e1b9', '#e1c4b9', '#b9e1c5'

js生成一组颜色数组 要求116进制形式2只要浅色3颜色之间尽量均匀分布而不要相似4数组长度由调用者传入5不要使用第三方库

原文地址: https://www.cveoy.top/t/topic/e0cN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录