s = delta / max;
// Hue
- if (r == max) {
- h = (g - b) / delta; // between yellow & magenta
- } else if (g == max) {
- h = 2 + (b - r) / delta; // between cyan & yellow
+ if (delta > 0) {
+ if (r == max) {
+ h = (g - b) / delta; // between yellow & magenta
+ } else if (g == max) {
+ h = 2 + (b - r) / delta; // between cyan & yellow
+ } else {
+ h = 4 + (r - g) / delta; // between magenta & cyan
+ }
} else {
- h = 4 + (r - g) / delta; // between magenta & cyan
+ h = 0;
}
h /= 6.0;