MCPcopy Index your code
hub / github.com/CreateJS/TweenJS / rgbToHsl

Function rgbToHsl

src/tweenjs/plugins/ColorPlugin.js:212–232  ·  view source on GitHub ↗
(o)

Source from the content-addressed store, hash-verified

210 };
211
212 function rgbToHsl(o) {
213 var r=o[0], g=o[1], b=o[2], m = 1/255;
214 r *= m, g *= m, b *= m;
215 // TODO: Math.max/min are pretty slow vs conditional assignment
216 var max = Math.max(r, g, b), min = Math.min(r, g, b);
217 var h, s, l = (max + min) * 0.5;
218
219 if (max === min) {
220 h = s = 0; // achromatic
221 } else {
222 var d = max - min;
223 s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
224 if (max === r) { h = (g - b) / d + (g < b ? 6 : 0); }
225 else if (max === g) { h = (b - r) / d + 2; }
226 else { h = (r - g) / d + 4; }
227 h /= 6;
228 }
229 o[0] = h*360;
230 o[1] = s*100;
231 o[2] = l*100;
232 }
233
234 function hslToRgb(o) {
235 var h=(o[0]%360)/360, s=o[1]/100, l=o[2]/100;

Callers 2

parseRgbOrHslFunction · 0.85
parseHexFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected