smatchit_tailwind_project/node_modules/culori/src/yiq/definition.js

56 lines
1.0 KiB
JavaScript
Raw Permalink Normal View History

2024-07-15 12:57:41 +00:00
import convertRgbToYiq from './convertRgbToYiq.js';
import convertYiqToRgb from './convertYiqToRgb.js';
import { interpolatorLinear } from '../interpolate/linear.js';
import { fixupAlpha } from '../fixup/alpha.js';
/*
YIQ Color Space
References
----------
Wikipedia:
https://en.wikipedia.org/wiki/YIQ
"Measuring perceived color difference using YIQ NTSC
transmission color space in mobile applications"
by Yuriy Kotsarenko, Fernando Ramos in:
Programación Matemática y Software (2010)
Available at:
http://www.progmat.uaem.mx:8080/artVol2Num2/Articulo3Vol2Num2.pdf
*/
const definition = {
mode: 'yiq',
toMode: {
rgb: convertYiqToRgb
},
fromMode: {
rgb: convertRgbToYiq
},
channels: ['y', 'i', 'q', 'alpha'],
parse: ['--yiq'],
serialize: '--yiq',
ranges: {
i: [-0.595, 0.595],
q: [-0.522, 0.522]
},
interpolate: {
y: interpolatorLinear,
i: interpolatorLinear,
q: interpolatorLinear,
alpha: { use: interpolatorLinear, fixup: fixupAlpha }
}
};
export default definition;