Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including color-interpolate with all npm packages installed. Try it out:

var colorInterpolate = require("color-interpolate")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

color-interpolate v1.0.5

Pick color from a given color palette by index

color-interpolate stable

For a given palette, return color by any float index. Useful for interpolating colormaps, color palettes or gradients.

Usage

npm install color-interpolate

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)'

API

let palette = require('color-interpolate')(colors)

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.

let color = palette(index, fn?)

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)'

Credits

Thanks to @mattdesl for interpolation functions and @mikkoh for API insight in interpolation-arrays.

Related

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

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free