如何在给定整数的情况下生成rgb代码

问题描述 投票:-1回答:1

我需要在给定整数的两种颜色之间生成一个rgb。例如,genRgb(73)将根据参数73.5给出一个介于(255,0,0)和(0,255,0)之间的rgb代码。因此0将对应于(255,0,0),并且90将对应于(0,255,0)。

我试过这样的事情:

function toColor(num) {
    var b = 0
    if(num < 60) {
        var g = num
        var r = num/2
    } else {
        var r = num
        var g = num/2
    }
    return "rgba(" + [r, g, b].join(",") + ")";
}

但是所有的rgb代码看起来都很相似,而且它不是一个非常聪明的解决方案。

我很感激任何帮助。谢谢

javascript rgb
1个回答
1
投票

请注意,当num = 0时,r = 255&g = 0.当num的值增加时,g的值也会增加。但是g的值减少了。所以我们可以这样做。

function toColor(num){
    var r = 255 - Math.floor(255*num/100);
    var g = Math.floor(255*num/100);
    var b = 0;

    return "rgb(" + r + "," + g + "," + b + ")";
}

console.log(toColor(0));
console.log(toColor(50));
console.log(toColor(73.5));
console.log(toColor(100));
© www.soinside.com 2019 - 2024. All rights reserved.