labFromArgb static method
Implementation
static List<double> labFromArgb(int argb) {
final linearR = linearized(redFromArgb(argb));
final linearG = linearized(greenFromArgb(argb));
final linearB = linearized(blueFromArgb(argb));
const matrix = srgbToXyz;
final x =
matrix[0][0] * linearR +
matrix[0][1] * linearG +
matrix[0][2] * linearB;
final y =
matrix[1][0] * linearR +
matrix[1][1] * linearG +
matrix[1][2] * linearB;
final z =
matrix[2][0] * linearR +
matrix[2][1] * linearG +
matrix[2][2] * linearB;
final xNormalized = x / whitePointD65[0];
final yNormalized = y / whitePointD65[1];
final zNormalized = z / whitePointD65[2];
final fx = _labF(xNormalized);
final fy = _labF(yNormalized);
final fz = _labF(zNormalized);
final l = 116.0 * fy - 16.0;
final a = 500.0 * (fx - fy);
final b = 200.0 * (fy - fz);
return [l, a, b];
}