Edit File: convertXybToRgb.js
import convertLrgbToRgb from '../lrgb/convertLrgbToRgb.js'; import { bias, bias_cbrt } from './constants.js'; const transfer = v => Math.pow(v + bias_cbrt, 3); const convertXybToRgb = ({ x, y, b, alpha }) => { const l = transfer(x + y) - bias; const m = transfer(y - x) - bias; /* Account for chroma from luma: add Y back to B */ const s = transfer(b + y) - bias; const res = convertLrgbToRgb({ r: 11.031566904639861 * l - 9.866943908131562 * m - 0.16462299650829934 * s, g: -3.2541473810744237 * l + 4.418770377582723 * m - 0.16462299650829934 * s, b: -3.6588512867136815 * l + 2.7129230459360922 * m + 1.9459282407775895 * s }); if (alpha !== undefined) res.alpha = alpha; return res; }; export default convertXybToRgb;
Back