js生成一组颜色数组 要求116进制形式2只要浅色3颜色之间尽量分隔开不要相似4数组长度由调用者传入
function generateColorsArray(length) { var colors = []; var maxBrightness = 200; // 控制亮度的最大值 for (var i = 0; i < length; i++) { var hex = "#"; // 生成随机的RGB颜色值 var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); // 计算亮度 var brightness = (r * 299 + g * 587 + b * 114) / 1000; // 如果亮度太暗则重新生成 if (brightness < maxBrightness) { i--; continue; } // 将RGB转换为16进制 hex += r.toString(16).padStart(2, '0'); hex += g.toString(16).padStart(2, '0'); hex += b.toString(16).padStart(2, '0'); // 将颜色添加到数组中 if (colors.indexOf(hex) === -1) { colors.push(hex); } else { i--; } } return colors; }
// 示例调用 var colors = generateColorsArray(10); console.log(colors); // ['#F0E68C', '#00FF7F', '#87CEFA', '#FFC0CB', '#ADD8E6', '#FFA07A', '#00BFFF', '#FFD700', '#90EE90', '#FFDEAD'
原文地址: https://www.cveoy.top/t/topic/e0bK 著作权归作者所有。请勿转载和采集!