Skip to content

Instantly share code, notes, and snippets.

@b4blue
Created February 15, 2016 11:43
Show Gist options
  • Select an option

  • Save b4blue/2404ffb7df3b66723921 to your computer and use it in GitHub Desktop.

Select an option

Save b4blue/2404ffb7df3b66723921 to your computer and use it in GitHub Desktop.
public static function RGBtoHSL(col:String):Object {
var s:Number;
var h:Number;
var l:Number;
var r:Number = parseInt(col.substr(0, 2), 16);
var g:Number = parseInt(col.substr(2, 2), 16);
var b:Number = parseInt(col.substr(4, 2), 16);
var max:Number = (Math.max(Math.max(r, g), b))/255;
var min:Number = (Math.min(Math.min(r, g), b))/255;
var delta:Number = max-min;
var l:Number = (max+min)/2;
if (max == min) {
s = 0;
} else if (l<=0.5) {
s = delta/l/2;
} else {
s = delta/(2-l*2);
}
if (r/255 == max) {
h = (g-b)/delta/255;
} else if (g/255 == max) {
h = 2+(b-r)/delta/255;
} else if (b/255 == max) {
h = 4+(r-g)/delta/255;
}
h = h*60;
h = Math.ceil(h);
s = Math.ceil(s*100);
l = Math.ceil(l*100);
return {h:h, s:s, l:l};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment