使用 Javascript 生成颜色渐变数组

问题描述 投票:0回答:0

注意:我想用一个简单的 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;
}
javascript arrays colors gradient text-coloring
© www.soinside.com 2019 - 2024. All rights reserved.