getHue static method
Calculates the rgbColor
s hue on a 0 to 1 scale,
as used by the HSL, HSP, and HSB color models.
Implementation
static double getHue(RgbColor rgbColor) {
double hue;
final rgb = rgbColor.toFactoredList();
final red = rgb[0];
final green = rgb[1];
final blue = rgb[2];
final max = rgb.reduce(math.max);
final min = rgb.reduce(math.min);
final difference = max - min;
if (max == min) {
hue = 0;
} else {
if (max == red) {
hue = (green - blue) / difference + ((green < blue) ? 6 : 0);
} else if (max == green) {
hue = (blue - red) / difference + 2;
} else {
hue = (red - green) / difference + 4;
}
hue /= 6;
}
return hue;
}