UNPKG

@antv/f2

Version:

Charts for mobile visualization.

50 lines 1.3 kB
import { rgb as colorRgb } from '../../d3-color/src'; import basis from './basis.js'; import basisClosed from './basisClosed.js'; import nogamma, { gamma } from './color.js'; export default (function rgbGamma(y) { var color = gamma(y); function rgb(start, end) { var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); return function (t) { start.r = r(t); start.g = g(t); start.b = b(t); start.opacity = opacity(t); return start + ''; }; } rgb.gamma = rgbGamma; return rgb; })(1); function rgbSpline(spline) { return function (colors) { var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; for (i = 0; i < n; ++i) { color = colorRgb(colors[i]); r[i] = color.r || 0; g[i] = color.g || 0; b[i] = color.b || 0; } r = spline(r); g = spline(g); b = spline(b); color.opacity = 1; return function (t) { color.r = r(t); color.g = g(t); color.b = b(t); return color + ''; }; }; } export var rgbBasis = rgbSpline(basis); export var rgbBasisClosed = rgbSpline(basisClosed);