getHue static method

double getHue(
  1. double red,
  2. double green,
  3. double blue,
  4. double max,
  5. double delta,
)

Calculates the hue (0-360 degrees) from normalised RGB components.

This is a shared helper used by all colour space conversion methods.

Implementation

static double getHue(
  double red,
  double green,
  double blue,
  double max,
  double delta,
) {
  late double hue;
  if (max == 0.0) {
    hue = 0.0;
  } else if (max == red) {
    hue = 60.0 * (((green - blue) / delta) % 6);
  } else if (max == green) {
    hue = 60.0 * (((blue - red) / delta) + 2);
  } else if (max == blue) {
    hue = 60.0 * (((red - green) / delta) + 4);
  }

  hue = hue.isNaN ? 0.0 : hue;
  return hue;
}