UNPKG

color-tf

Version:

RGB, HSL, HSV, HWB and more color models convertors

22 lines (17 loc) 505 B
'use strict'; var hsl2rgb = (h, s, l) => { if (s === 0) return [l, l, l]; // achromatic const q = l < 0.5 ? l * (1 + s) : l + s - l * s; const p = 2 * l - q; return [hue2rgb(p, q, h + 1 / 3), hue2rgb(p, q, h), hue2rgb(p, q, h - 1 / 3)]; }; function hue2rgb(p, q, t) { // private fn if (t < 0) t += 1; if (t > 1) t -= 1; if (t < 1 / 6) return p + (q - p) * 6 * t; if (t < 1 / 2) return q; if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; return p; } module.exports = hsl2rgb;