deltae
Version:
get delta e of 2 colors
38 lines (30 loc) • 914 B
JavaScript
var xyz = require('./xyz')
//CIE-L*ab
module.exports= function(hexcolor, callback){
xyz(hexcolor,function(XYZ){
var_X = XYZ.X / 95.047 //ref_X = 95.047 Observer= 2°, Illuminant= D65
var_Y = XYZ.Y / 100.000 //ref_Y = 100.000
var_Z = XYZ.Z / 108.883 //ref_Z = 108.883
if ( var_X > 0.008856 )
var_X = Math.pow(var_X ,( 1/3 ))
else
var_X = ( 7.787 * var_X ) + ( 16 / 116 )
if ( var_Y > 0.008856 )
var_Y = Math.pow(var_Y ,( 1/3 ))
else
var_Y = ( 7.787 * var_Y ) + ( 16 / 116 )
if ( var_Z > 0.008856 )
var_Z = Math.pow(var_Z ,( 1/3 ))
else
var_Z = ( 7.787 * var_Z ) + ( 16 / 116 )
var L = ( 116 * var_Y ) - 16
var a = 500 * ( var_X - var_Y )
var b = 200 * ( var_Y - var_Z )
var Lab={
L:L,
a:a,
b:b
}
callback(Lab);
})
}