X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FColor.java;h=5ea98cdc106913022658f78360ed21a799b48aed;hb=579c24625e93b67fd74245fe835cb34906ee7090;hp=fe010c7080fbe44c747d69b0d380513c10f24ac3;hpb=b3e103128bae11de70b5ca0bbf9255953d008eaf;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Color.java b/src/kaka/cakelight/Color.java index fe010c7..5ea98cd 100644 --- a/src/kaka/cakelight/Color.java +++ b/src/kaka/cakelight/Color.java @@ -1,6 +1,8 @@ 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) { @@ -71,12 +73,16 @@ public class Color { 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; @@ -106,4 +112,9 @@ public class Color { (int)(b * invertedValue + other.b * value) ); } + + @Override + public String toString() { + return "Color{r=" + r + ", g=" + g + ", b=" + b + "}"; + } }