diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java index f086712e..d701313f 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ColorUtil.java @@ -49,11 +49,21 @@ public class ColorUtil { } public static float getBrightness(Color color) { - return Color.RGBtoHSB(color.getRed(), color.getBlue(), color.getGreen(), null)[2]; + float a[] = new float[3]; + color.getRGBColorComponents(a); + return a[0] * 0.2126f + a[1] * 0.7152f + a[2] * 0.0722f; + } + + public static float getContrast(Color a, Color b) { + float val = (getBrightness(a) + 0.05f) / (getBrightness(b) + 0.05f); + if (val < 1) { + val = 1 / val; + } + return val; } public static Color contrastColor(Color color) { return new Color(color.getRed() ^ 0x80, color.getGreen() ^ 0x80, color.getBlue() ^ 0x80); } - + } |