Skip to content

Instantly share code, notes, and snippets.

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

  • Save b4blue/7208a6d33ef24a789415 to your computer and use it in GitHub Desktop.

Select an option

Save b4blue/7208a6d33ef24a789415 to your computer and use it in GitHub Desktop.
private static function HSLtoRGB(h:Number, s:Number, l:Number):Object {
var m2:Number;
s = s/100;
l = l/100;
if (l<=0.5) {
m2 = l*(1+s);
} else {
m2 = l+s-l*s;
}
var m1 = 2*l-m2;
var r:Number = setHLSToRGB(m1, m2, (h+120));
var g:Number = setHLSToRGB(m1, m2, h);
var b:Number = setHLSToRGB(m1, m2, (h-120));
var r1:String = r.toString(16);
var g1:String = g.toString(16);
var b1:String = b.toString(16);
if (r1.length<2) {
r1 = "0"+r1;
}
if (g1.length<2) {
g1 = "0"+g1;
}
if (b1.length<2) {
b1 = "0"+b1;
}
return {r:r1, g:g1, b:b1};
}
private static function setHLSToRGB(n1:Number, n2:Number, hue:Number) {
var col:Number;
if (hue>360) {
hue = hue-360;
} else if (hue<0) {
hue = hue+360;
}
if (hue<60) {
col = (n1+(n2-n1)*hue/60);
} else if (hue<180) {
col = n2;
} else if (hue<240) {
col = (n1+(n2-n1)*(240-hue)/60);
} else {
col = n1;
}
col = col*255;
return col;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment