distance static method

num distance(
  1. List<num> c1,
  2. List<num> c2,
  3. bool compareAlpha
)

Compare colors from a 3 or 4 dimensional color space

Implementation

static num distance(List<num> c1, List<num> c2, bool compareAlpha) {
  final d1 = c1[0] - c2[0];
  final d2 = c1[1] - c2[1];
  final d3 = c1[2] - c2[2];
  if (compareAlpha) {
    final dA = c1[3] - c2[3];
    return sqrt(max(d1 * d1, (d1 - dA) * (d1 - dA)) +
        max(d2 * d2, (d2 - dA) * (d2 - dA)) +
        max(d3 * d3, (d3 - dA) * (d3 - dA)));
  } else {
    return sqrt(d1 * d1 + d2 * d2 + d3 * d3);
  }
}