INNER CODE UNIT · JavaScript
result
increpare/flickgame · flickgame_base.js:35
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result
? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) }
: { r: 0, g: 0, b: 0 };
}
function rgbToLab(r,g,b) {
r /= 255; g /= 255; b /= 255;
r = (r > 0.04045) ? (((r + 0.055) / 1.055) ** 2.4) : r / 12.92;
g = (g > 0.04045) ? (((g + 0.055) / 1.055) ** 2.4) : g / 12.92;
b = (b > 0.04045) ? (((b + 0.055) / 1.055) ** 2.4) : b / 12.92;
var x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;
var y = (r * 0.2126 + g * 0.7152 + b * 0.0722) / 1.00000;
var z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;
x = (x > 0.008856) ? (x ** (1 / 3)) : (7.787 * x) + 16 / 116;
y = (y > 0.008856) ? (y ** (1 / 3)) : (7.787 * y) + 16 / 116;
z = (z > 0.008856) ? (z ** (1 / 3)) : (7.787 * z) + 16 / 116;
return { L: (116 * y) - 16, a: 500 * (x - y), b: 200 * (y - z) };