fromColor static method

HSV fromColor(
  1. Color c
)

Implementation

static HSV fromColor(Color c) {
  final r = c.r, g = c.g, b = c.b;
  final max = [r, g, b].reduce((a, e) => e > a ? e : a);
  final min = [r, g, b].reduce((a, e) => e < a ? e : a);
  final d = max - min;
  final h = d == 0
      ? 0.0
      : max == r
      ? 60 * (((g - b) / d) % 6)
      : max == g
      ? 60 * ((b - r) / d + 2)
      : 60 * ((r - g) / d + 4);
  return HSV(h < 0 ? h + 360 : h, max == 0 ? 0 : d / max, max);
}