UNPKG

lib-colors

Version:

Simple node.js library for work with colors

29 lines (28 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.labToCmyk = labToCmyk; const lab_to_xyz_helper_1 = require("./lab_to_xyz.helper"); function labToCmyk(lab) { const xyz = (0, lab_to_xyz_helper_1.labToXyz)(lab); return xyzToCmyk(xyz); } function xyzToCmyk(xyz) { const { x, y, z, alpha } = { ...xyz }; const xNorm = Math.min(1, x / 95.047); const yNorm = Math.min(1, y / 100.0); const zNorm = Math.min(1, z / 108.883); const c = 1 - xNorm; const m = 1 - yNorm; const yVal = 1 - zNorm; const k = Math.min(c, m, yVal); const cFinal = (c - k) / (1 - k) || 0; const mFinal = (m - k) / (1 - k) || 0; const yFinal = (yVal - k) / (1 - k) || 0; return { c: Math.round(Math.max(0, Math.min(1, cFinal)) * 100), m: Math.round(Math.max(0, Math.min(1, mFinal)) * 100), y: Math.round(Math.max(0, Math.min(1, yFinal)) * 100), k: Math.round(Math.max(0, Math.min(1, k)) * 100), a: alpha, }; }