For a given palette, return color by any float index. Useful for interpolating colormaps, color palettes or gradients.
const interpolate = require('color-interpolate');
let colormap = interpolate(['black', 'gray', 'white']);
let black = colormap(0); // 'rgb(0, 0, 0)'
let white = colormap(1); // 'rgb(255, 255, 255)'
let gray = colormap(.5); // 'rgb(128, 128, 128)'
Create interpolator from a list of colors
. Colors can be in any format: CSS color string, array with RGB channel values, object with r
, g
, b
or h
, s
, l
channel values or even a number, see color-parse for reference.
Get interpolated color from palette by index
value within 0..1
range. Pass optional fn
interpolation function, by default lerp is used, but smoothstep can be used as an alternative.
Example:
const palettes = require('nice-color-palettes')
const palette = require('color-interpolate')(palettes[32])
let activeColor = palette(.2) // 'rgb(51, 23 47)'
let background = palette(1) // 'rgb(255, 255, 255)'
let foreground = palette(0) // 'rgb(0, 0, 0)'
Thanks to @mattdesl for interpolation functions and @mikkoh for API insight in interpolation-arrays.
colormap — collection of beautiful colormaps, a good source for palettes.
nice-color-palettes — collection of beautiful color palettes from colourlovers.
color-alpha — change alpha of a color string.
color-spectrum — convert spectrum, like FFT result, to color.
color-space — collection of color space transforms, useful for custom interpolation modes.
© Dmitry Yv. MIT License