toLinearSrgb method

  1. @override
LinearSrgb toLinearSrgb()
override

Implementation

@override
LinearSrgb toLinearSrgb() {
  final double l2 = this.l + 0.3963377774 * a + 0.2158037573 * b;
  final double m2 = this.l - 0.1055613458 * a - 0.0638541728 * b;
  final double s2 = this.l - 0.0894841775 * a - 1.2914855480 * b;

  final double l = l2 * l2 * l2;
  final double m = m2 * m2 * m2;
  final double s = s2 * s2 * s2;

  return LinearSrgb(
    4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
    -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
    -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s,
  );
}