diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-01-07 23:01:11 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-01-07 23:01:11 +0100 |
| commit | 4777c058469847cbe02eb2a24634b21ee37384fc (patch) | |
| tree | 3fd87861241a75f59819bc0771eb3e97bd88e2f6 /docs/js/cielab.js | |
| parent | d317978119fc0936d9c342edf47e55be230cd215 (diff) | |
move docs
Diffstat (limited to 'docs/js/cielab.js')
| -rw-r--r-- | docs/js/cielab.js | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/docs/js/cielab.js b/docs/js/cielab.js deleted file mode 100644 index 14c096f..0000000 --- a/docs/js/cielab.js +++ /dev/null @@ -1,70 +0,0 @@ -var cielab = (function(){ - var cielab = {} - - var xyz = [0,0,0] - var rgb = [0,0,0] - - L_range = [0, 100] - a_range = [-86.185, 98.254] - b_range = [-107.863, 94.482] - - cielab.gradient = function (n) { - n = n || 100 - var k = 0 - - var L, a, b - - var L0 = randrange(L_range[0] + 50, L_range[1]) - var L1 = randrange(L_range[0]+ 50, L_range[1]) - var a0 = randrange(a_range[0], a_range[1]) - var a1 = randrange(a_range[0], a_range[1]) - var b0 = randrange(b_range[0], b_range[1]) - var b1 = randrange(b_range[0], b_range[1]) - return function next (aa){ - L = mix(k/n, L0, L1) - a = mix(k/n, a0, a1) - b = mix(k/n, b0, b1) - rgb = xyz2rgb(hunterlab2xyz(L, a, b)) - k += 1 - return rgba_string(rgb, aa) - } - } - function rgba_string (rgb, a) { return "rgba(" + rgb.map(Math.round).join(",") + "," + a + ")" } - function hex_string (rgb) { return "#" + rgb.map(Math.round).map(function(n){ var s = n.toString(16); return s.length == 1 ? "0"+s : s }).join("") } - - function mix(n,a,b){ return n*a + (1-n)*b } - function clamp(n,a,b){ return n<a?a:n<b?n:b } - function hunterlab2xyz (L,a,b) { - var_Y = L / 10 - var_X = a / 17.5 * L / 10 - var_Z = b / 7 * L / 10 - - Y = Math.pow(var_Y, 2) - X = ( var_X + Y ) / 1.02 - Z = -( var_Z - Y ) / 0.847 - xyz = [X,Y,Z] - } - function xyz2rgb(){ - var var_X = xyz[0] / 100 //X from 0 to 95.047 (Observer = 2°, Illuminant = D65) - var var_Y = xyz[1] / 100 //Y from 0 to 100.000 - var var_Z = xyz[2] / 100 //Z from 0 to 108.883 - - var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986 - var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415 - var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570 - - if ( var_R > 0.0031308 ) var_R = 1.055 * Math.pow( var_R, 1 / 2.4 ) - 0.055 - else var_R = 12.92 * var_R - if ( var_G > 0.0031308 ) var_G = 1.055 * Math.pow( var_G, 1 / 2.4 ) - 0.055 - else var_G = 12.92 * var_G - if ( var_B > 0.0031308 ) var_B = 1.055 * Math.pow( var_B, 1 / 2.4 ) - 0.055 - else var_B = 12.92 * var_B - - rgb[0] = clamp(var_R * 255, 0, 255) - rgb[1] = clamp(var_G * 255, 0, 255) - rgb[2] = clamp(var_B * 255, 0, 255) - return rgb - } - - return cielab -})()
\ No newline at end of file |
