Initial Commit
This commit is contained in:
46
node_modules/color-space/labh.js
generated
vendored
Normal file
46
node_modules/color-space/labh.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* Hunter-lab space.
|
||||
*
|
||||
* @module color-space/labh
|
||||
*/
|
||||
|
||||
import xyz from './xyz.js';
|
||||
|
||||
var labh = {
|
||||
name: 'labh',
|
||||
|
||||
//mins/maxes are taken from colormine
|
||||
//FIXME: check whether mins/maxes correct
|
||||
min: [0, -128, -128],
|
||||
max: [100, 128, 128],
|
||||
channel: ['lightness', 'a', 'b'],
|
||||
alias: ['LABh', 'hunter-lab', 'hlab'],
|
||||
|
||||
//maths are taken from EasyRGB
|
||||
xyz: function (lab) {
|
||||
var l = lab[0], a = lab[1], b = lab[2];
|
||||
|
||||
var _y = l / 10;
|
||||
var _x = a / 17.5 * l / 10;
|
||||
var _z = b / 7 * l / 10;
|
||||
|
||||
var y = _y * _y;
|
||||
var x = (_x + y) / 1.02;
|
||||
var z = -(_z - y) / 0.847;
|
||||
|
||||
return [x, y, z];
|
||||
}
|
||||
};
|
||||
|
||||
export default (labh);
|
||||
|
||||
//extend xyz
|
||||
xyz.labh = function (xyz) {
|
||||
var x = xyz[0], y = xyz[1], z = xyz[2];
|
||||
var _y12 = Math.sqrt(y);
|
||||
var l = 10 * _y12;
|
||||
var a = y === 0 ? 0 : 17.5 * (((1.02 * x) - y) / _y12);
|
||||
var b = y === 0 ? 0 : 7 * ((y - (0.847 * z)) / _y12);
|
||||
|
||||
return [l, a, b];
|
||||
};
|
||||
Reference in New Issue
Block a user