xvmcmm/node_modules/culori/src/xyb/definition.js

40 lines
783 B
JavaScript
Raw Normal View History

2024-06-04 13:41:33 +02:00
import { interpolatorLinear } from '../interpolate/linear.js';
import { fixupAlpha } from '../fixup/alpha.js';
import convertRgbToXyb from './convertRgbToXyb.js';
import convertXybToRgb from './convertXybToRgb.js';
/*
The XYB color space, used in JPEG XL.
Reference: https://ds.jpeg.org/whitepapers/jpeg-xl-whitepaper.pdf
*/
const definition = {
mode: 'xyb',
channels: ['x', 'y', 'b', 'alpha'],
parse: ['--xyb'],
serialize: '--xyb',
toMode: {
rgb: convertXybToRgb
},
fromMode: {
rgb: convertRgbToXyb
},
ranges: {
x: [-0.0154, 0.0281],
y: [0, 0.8453],
b: [-0.2778, 0.388]
},
interpolate: {
x: interpolatorLinear,
y: interpolatorLinear,
b: interpolatorLinear,
alpha: { use: interpolatorLinear, fixup: fixupAlpha }
}
};
export default definition;