rgb2hsv static method
Converts RGB values to HSV values.
Returns a list of doubles representing the HSV values. h, s, v
Implementation
static List<double> rgb2hsv(int r, int g, int b) {
final double R = r / 255;
final double G = g / 255;
final double B = b / 255;
final double maximum = max(R, max(G, B));
final double minimum = min(R, min(G, B));
final double delta = maximum - minimum;
double h = 0;
double s = 0;
double v = maximum;
if (delta != 0) {
s = delta / maximum;
if (R == maximum) {
h = (G - B) / delta;
} else if (G == maximum) {
h = 2 + (B - R) / delta;
} else if (B == maximum) {
h = 4 + (R - G) / delta;
}
h *= 60;
if (h < 0) {
h += 360;
}
}
return [h.roundToDouble(), s, v];
}