Javascript 调色板生成器 - 在给定两个十六进制(#abc123)值的 Javascript 中生成中间颜色数组的公式?

标签 javascript colors

给定 2 或 3 种基色,我尝试生成中间颜色,以便 2-3 变成 5 到 50 之间的任何颜色,如下图所示。

Trying to do this

有什么想法吗?我正在使用 Highcharts 制作饼图。

最佳答案

首先,感谢@Juho Vepsäläinen

我这样申请我的项目

function lerp(a, b, fac) {
    var ret = [];

    for(var i = 0; i < Math.min(a.length, b.length); i++) {
        ret[i] = a[i] * (1 - fac) + b[i] * fac;
    }

    return new Color().setRGB(ret[0], ret[1], ret[2]).toString();
}

function lerpColors(begin, end, n) {
    var ret = [];

    for(var i = 0; i < n; i++) {
        var fac = i / (n - 1);
        ret.push(lerp(begin.toRGBArray(), end.toRGBArray(), fac));
    }

    return ret;
}

var paletteSize = 300;
var palette = lerpColors(
    new Color('#C6DBEF'),
    new Color('#3182BD'),
    paletteSize
);

console.log(palette) 将显示如下(示例):

['002b36', '073642', '586e75', '657b83', '839496','93a1a1','eee8d5','fdf6e3']

关于Javascript 调色板生成器 - 在给定两个十六进制(#abc123)值的 Javascript 中生成中间颜色数组的公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4479475/

相关文章:

javascript - Emberjs 1.0 : How to create Models and display them in another route?

javascript - 如何在javascript中动态按数组值进行分组

javascript - 如何使用 OpenLayer 和 WFS 过滤特征?

javascript - 为什么我的 no-submit (HtmlButton) 仍然提交?

r - 如何使用 HSL(Hue Saturation Lightness)圆柱颜色模型

python - 使用 python 3 和 tkinter 中的 colorchooser 更改 tkinter 窗口的背景颜色

javascript - Fabric.js 在组后插入

r - ggplot2 中相似数据的相似颜色

macos - SwiftUI:在哪里可以获得标准颜色列表?

c++ - 在 C++Builder 6 中使用自定义颜色