package kaka.cakelight;
public class Color {
+ public static final Color BLACK = Color.rgb(0, 0, 0);
+
private static int[] gammaCorrection = new int[256];
public static void calculateGammaCorrection(double gamma) {
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 + "}";
+ }
}