JSFiddle - React, Tailwind, and code Playground
by Felipe Alfaro
TypeScript
type RGBColor = [number, number, number];
const interpolateColors = (
startRGB: RGBColor,
finishRGB: RGBColor,
steps: number
) => {
const stepFactor = 1 / (steps - 1);
const colorInterpolationArray: RGBColor[] = [];
for (var i = 0; i < steps; i++) {
const resultRGB: RGBColor = [startRGB[0], startRGB[1], startRGB[2]];
for (var i = 0; i < resultRGB.length; i++) {
resultRGB[i] = Math.round(resultRGB[i] + (stepFactor * i) * (finishRGB[i] - startRGB[i]));
}
colorInterpolationArray.push(resultRGB);
}
return colorInterpolationArray;
};
console.log( 'asdsa',
interpolateColors([255, 255, 255], [0, 0, 0], 5)
)