rgbToXyz function
Convert a RGB color to XYZ.
Implementation
List<num> rgbToXyz(num r, num g, num b) {
r = r / 255.0;
g = g / 255.0;
b = b / 255.0;
if (r > 0.04045) {
r = pow((r + 0.055) / 1.055, 2.4);
} else {
r = r / 12.92;
}
if (g > 0.04045) {
g = pow((g + 0.055) / 1.055, 2.4);
} else {
g = g / 12.92;
}
if (b > 0.04045) {
b = pow((b + 0.055) / 1.055, 2.4);
} else {
b = b / 12.92;
}
r = r * 100.0;
g = g * 100.0;
b = b * 100.0;
return [
r * 0.4124 + g * 0.3576 + b * 0.1805,
r * 0.2126 + g * 0.7152 + b * 0.0722,
r * 0.0193 + g * 0.1192 + b * 0.9505
];
}