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;
(int)(b * invertedValue + other.b * value)
);
}
+
+ @Override
+ public String toString() {
+ return "Color{r=" + r + ", g=" + g + ", b=" + b + "}";
+ }
}