选择两种颜色并在其间获得n种颜色

时间:2016-04-15 11:36:38

标签: javascript html css math colors

我想在边界内选择一定数量的颜色。例如,我将#fff#000作为边界,并希望介于5种颜色之间。我如何实现#fff, color 2, ..., color5, #000,均匀分布?

我想根据图表中动态的项目数量为图表工具选择颜色。只是想知道这可以通过代码轻松完成,或者可能已经有了这个在线工具吗?否则我会手动选择颜色;)

2 个答案:

答案 0 :(得分:1)

chroma.js是一个非常棒的图书馆! - 查看.scale方法here

答案 1 :(得分:1)

您可以编写一个获取间隔的函数,并生成一个具有间隔及其倍数的数组。



function getInbetweenColors(color1, color2, count) {
    var array = [color1],
        c1 = parseInt(color1.substring(1), 16),
        c2 = parseInt(color2.substring(1), 16),
        interval = (c2 - c1) / count,
        i;

    for (i = 1; i < count; i++) {         
        array[i] = Math.floor(c1 + i * interval).toString(16);
        while(array[i].length < color1.length-1) {
           array[i]= '0' + array[i];
        }
        array[i]= '#' + array[i];
    }
    array[count] = color2;
    return array;
}

document.write('<pre>' + JSON.stringify(getInbetweenColors('#fff', '#000', 5), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(getInbetweenColors('#0391f5', '#27333d', 5), 0, 4) + '</pre>');
&#13;
&#13;
&#13;