产生各种美丽的颜色

时间:2018-07-23 12:58:31

标签: javascript jquery

我想生成RGB格式的浅色。 人类应该能够轻松区分这些颜色。 我想要一个使用Javascript的解决方案。 我做了什么:

var getRandom = function(min, max) {
    return (Math.random() * (max - min) + min);
};
var randomColorGenerator = function(index) { 
    var p = getRandom(0,10)/10;
    var q = getRandom(0,10)/10;
    var r = getRandom(0,10)/10;
    var max=235;
    var min= 150;
    var rgb = [Math.floor(min + p*(max-min)), Math.floor(min + q*(max-min)), Math.floor(min + r*(max-min))];
    return rgb;
}

如您所见,它可以生成颜色,但是我们不确定会获得不同的颜色... 解决方案可以是: 当距离d(u,v)= sqrt [(u(r)-v(r))^ 2 + ... +(u(b)-v(b))^ 2时,两种颜色u,v相似。 ] / [sqrt(3)* 255]

但是我在这里讨论它,关于一种有效的算法。 基本上,我将在图表上使用它(图表Js)来生成可读的甜甜圈。 我认为我们可以将图表元素按三个元素进行分组。

如果您想了解更多信息,请让我知道;)

谢谢。

1 个答案:

答案 0 :(得分:1)

创建图表后,我只需定义一个我已经知道看起来很好并且可以区分的颜色列表,然后以指定的顺序使用它们(如果需要,可以循环回到第一个)。我认为这是确保图表既可读又美观的最可靠方法。

如果您的问题纯粹是理论性的,我什么也不会说,但是既然您说过:

  

基本上,我将在图表(图表Js)上使用它来生成可读的甜甜圈。我认为我们可以将图表元素按三个元素进行分组。

我只想为此提供两美分;我本来只是发表评论,但我的Stack Overflow名声还不够高。