JavaScript函数返回给定颜色的"n"色调(从暗到亮)

Ani*_*mde 6 javascript graphics rgb colors

我想获得用于生成标签云的特定颜色的颜色范围.

假设用户已经输入了一些带有RGB/HHHHHH值的颜色,那么我想编写一个函数f(color, no),该函数RGB/HHHHHH从指定的"颜色"的深色到浅色返回"不"的不同色调.然后,这些颜色将用于显示具有相同色调的不同颜色的不同标签.但我想避免使用黑白色调.

以下示例F({R:0, G:0, B:255}, 7)返回7蓝色阴影.

f({R:0,G:0,B:255},7)返回7种蓝色阴影

我不希望任何RGB组合(25, 150,150)也是如此.

这个函数是否可以使用JavaScript,或者是否有任何RGB公式可以实现?

Cly*_*obo 11

function generate()
{
  var r = document.querySelector("#R").value%256;
  var g = document.querySelector("#G").value%256;
  var b = document.querySelector("#B").value%256;
  var str="";
  for(var i=0;i<7;i++)
  {
    r+=33;
    g+=33;
    b+=33;
    str+="<div class='swatch' style='background-color:rgb("+r+","+g+","+b+")'></div>";
  }
  document.querySelector("#op").innerHTML = str;
  console.log(str);
}
Run Code Online (Sandbox Code Playgroud)
.swatch{width:50px;height:25px;margin:1px}
Run Code Online (Sandbox Code Playgroud)
<div>R<input type="text" id="R"/></div>
<div>G<input type="text" id="G"/></div>
<div>B<input type="text" id="B"/></div>
<input type="button" onclick="generate()" value="Generate"/>
<div id="op">Generated Color shades</div>
Run Code Online (Sandbox Code Playgroud)

你想在jsbin这样的东西吗?这是我使用jQuery构建的一个演示.

如果您有任何疑问,请告诉我.