注意:我想用一个简单的 js 来完成这个,而不是使用库。
我有一个文本,输入在下面指定
const str = "The Gradient Legacy";
var n = str.length
startColor = "#CF0A0A";
endColor = "#0000CF";
stopColors = ["#78FF9C","#00FF22"]; //This is dynamic, when this array is empty ignore it
预期输出:长度为str.length的颜色代码数组,其中每个值代表给定输入字符串的字符颜色。
我试过,我不确定如何合并开始和停止
function getGradientArrayForGivenText()
{
if (phase == undefined) phase = 0;
var center = 128;
var width = 127;
var result = [];
var frequency = Math.PI * 2 / str.length;
for (var i = 0; i < str.length - 1; ++i) {
var red = Math.sin(frequency * i + 2 + phase) * width + center;
var green = Math.sin(frequency * i + 0 + phase) * width + center;
var blue = Math.sin(frequency * i + 4 + phase) * width + center;
result.push("#"+red+green+blue)
}
return result;
}