Skip to content

Instantly share code, notes, and snippets.

@sairion
Created August 30, 2016 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sairion/4bad8b20857d6f249795d72f47a590c1 to your computer and use it in GitHub Desktop.
Save sairion/4bad8b20857d6f249795d72f47a590c1 to your computer and use it in GitHub Desktop.
function rgb2hsl(r, g, b){
r = r/255, g = g/255, b = b/255;
var max = Math.max(r, g, b), min = Math.min(r, g, b);
var h, s, v = max;
var d = max - min;
s = max == 0 ? 0 : d / max;
if(max == min){
h = 0; // achromatic
}else{
switch(max){
case r: h = (g - b) / d + (g < b ? 6 : 0); break;
case g: h = (b - r) / d + 2; break;
case b: h = (r - g) / d + 4; break;
}
h /= 6;
}
return [Math.round(h * 100), Math.round(s * 100), Math.round(v * 100)];
}
var rows = $('.value-table tbody tr')
rows.each(
function (index, element) {
var r = $(element).find('.rgb-red').text().trim()
var g = $(element).find('.rgb-green').text().trim()
var b = $(element).find('.rgb-blue').text().trim()
var hsl = rgb2hsl(r, g, b) // [h, s, l]
$(element).find('.hsl-hue').text(hsl[0])
$(element).find('.hsl-saturation').text(hsl[1])
$(element).find('.hsl-light').text(hsl[2])
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment