Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
In my previous post on CSS3 Colors – RGBA vs. HSLA, I provided a script to easily convert RGB to HSL using inputs/outputs friendly to CSS3. In this post, I provide the reverse script – converting from HSL to RGB. The trailing “A” means Alpha (scale of opacity), and requires no conversion.
// elsewhere in script use this way:
// var result = Palermozr.hslToRgb(0,0,100);
// result.R // Red
// result.G // Green
// result.B // Blue
var Palermozr = (function () {
function hslToRgb(h, s, l) {
h /= 360; s /= 100; l /= 100;
var r, g, b;
if (s == 0) {
r = g = b = l;
} else {
var l2 = l < 0.5 ? l * (1 + s) : (l + s) - (s * l);
var l1 = (2 * l) - l2;
r = hueToRgb(l1, l2, (h + (1 / 3)));
g = hueToRgb(l1, l2, h);
b = hueToRgb(l1, l2, (h - (1 / 3)));
}
r = Math.round(255 * r);
g = Math.round(255 * g);
b = Math.round(255 * b);
return { R: r, G: g, B: b };
}
// helper function used above
function hueToRgb(l1, l2, h) {
if (h < 0) h += 1;
if (h > 1) h -= 1;
if (h < 1 / 6) return (l1 + (l2 - l1) * 6 * h);
if (h < 1 / 2) return l2;
if (h < 2 / 3) return (l1 + (l2 - l1) * ((2 / 3) - h) * 6);
return l1;
}
return {
hslToRgb: hslToRgb
};
})();