UNPKG

chromatism

Version:

A simple set of utility functions for colours.

28 lines (21 loc) 869 B
import slopeMod from '../helpers/slope-mod' import makeColourObject from './convert' import convert from '../helpers/convert-to-type' export default function fade (amount, fromRef, toRef) { var fromColour = convert('rgb', fromRef) var toColour = convert('rgb', toRef) var colours = [ fromColour ] amount = amount - 1 var rDiff = (toColour.r - fromColour.r) / (amount) var gDiff = (toColour.g - fromColour.g) / (amount) var bDiff = (toColour.b - fromColour.b) / (amount) var colour = { r: fromColour.r, g: fromColour.g, b: fromColour.b } for (var i = 0; i < (amount - 1); i++) { colour.r = slopeMod(colour.r + rDiff, 255) colour.g = slopeMod(colour.g + gDiff, 255) colour.b = slopeMod(colour.b + bDiff, 255) colours.push({ r: colour.r, g: colour.g, b: colour.b }) } colours.push(toColour) return makeColourObject(colours) }