summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/color.js31
1 files changed, 29 insertions, 2 deletions
diff --git a/js/color.js b/js/color.js
index 9c2ab09..a8479b9 100644
--- a/js/color.js
+++ b/js/color.js
@@ -49,12 +49,39 @@ function xyz2rgb(xyz){
return [r,g,b]
}
+function xyz2hunterlab (X,Y,Z) {
+ if (X.length) {
+ Z = X[2]
+ Y = X[1]
+ X = X[0]
+ }
+ var L = 10 * sqrt( Y )
+ var a = 17.5 * ( ( ( 1.02 * X ) - Y ) / sqrt( Y ) )
+ var b = 7 * ( ( Y - ( 0.847 * Z ) ) / sqrt( Y ) )
+ return [L,a,b]
+}
+
+function hunterlab2xyz (L,a,b) {
+ if (L.length) {
+ b = L[2]
+ a = L[1]
+ L = L[0]
+ }
+ 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
+ return [X,Y,Z]
+}
// Daylight Illuminant (D65)
var REF_X = 95.047
var REF_Y = 100.000
var REF_Z = 108.883
-function xyz2lab (xyz) {
+function xyz2cielab (xyz) {
var var_X = xyz[0] / ref_X //ref_X = 95.047 Observer= 2°, Illuminant= D65
var var_Y = xyz[1] / ref_Y //ref_Y = 100.000
var var_Z = xyz[2] / ref_Z //ref_Z = 108.883
@@ -73,7 +100,7 @@ function xyz2lab (xyz) {
return [L,a,b]
}
-function lab2xyz (lab){
+function cielab2xyz (lab){
var var_Y = ( lab[0] + 16 ) / 116
var var_X = lab[1] / 500 + var_Y
var var_Z = var_Y - lab[2] / 200