UNPKG

float-rgb2hsl

Version:
39 lines (32 loc) 632 B
module.exports = rgb2hsl function rgb2hsl (rgb) { var r = rgb[0], g = rgb[1], b = rgb[2], min = Math.min(r, g, b), max = Math.max(r, g, b), delta = max - min, h, s, l if (max === min) { h = 0 } else if (r === max) { h = (g - b) / delta } else if (g === max) { h = 2 + (b - r) / delta } else if (b === max) { h = 4 + (r - g) / delta } h = Math.min(h * 60, 360) if (h < 0) { h += 360 } l = (min + max) / 2 if (max === min) { s = 0 } else if (l <= 0.5) { s = delta / (max + min) } else { s = delta / (2 - max - min) } return [h / 360, s, l] }