Kontrast zweier Farben vergleichen

TomH

Mitglied
Hallo zusammen,
ich habe ein kleines Problem mit Farben.

In unserem Programm ist es möglich für bestimmte Daten Prioritäten zu vergeben. Den Prioritäten sind Farben zugeordnet, die der Anwender selbst vergeben kann. In Tabellen werden die Daten dann entspr. der Priorität eingefärbt (Hintergrundfarbe).
Mein Problem ist jetzt, mit welcher Vordergrundfarbe (weiß oder schwarz) ich den Text schreiben soll.
Ich habe versucht es über die HSB-Werte der Color-Instanz herauszufinden (insbesondere Saturation und Brightness), das funktioniert aber auch nicht immer.
Gibt es eine Möglichkeit irgendwie den Kontrast der Hintergrundfarbe zu Schwarz oder Weiß herauszufinden und entspr. damit zu entscheiden, welche Vordergrundfarbe man wählen soll?

Falls jemand eine Lösung weiß, wäre ich über einen beitrag sehr dankbar
Gruß
Thomas
 
A

anonym

Gast
weder schwarz noch weiß, aber: S und B unverändert, H +180 sollte eine Farbe mit vernünftigem Kontrast ergeben. Eventuell auch S und B auf Konstanten (z.B. das maximal Mögliche) und H+180.
 

Marco13

Top Contributor
Spätestens bei (128,128,128) (oder anderen, bei denen H beliebig und/oder S==0 ist) wird's "schwierig". Man könnte sich was "pragmatisches" überlegen, z.B. nur die Helligheit betrachten, und dann irgendeine "einfache" Regel definieren wie H<0.5 -> Weiß, H>=0.5 -> Schwarz, aber ob das immer gut passt muss man sich anschauen...
 

TomH

Mitglied
Erst mal danke für die superschnellen Antworten. Die Reaktionszeit ist ja echt der Hammer.

Zu der ersten Antwort. Ich kann leider nur schwarz oder weiß als Vordergrundfarbe verwenden.

Einen pragmatischen Weg hab ich auch schon versucht, auch den, dass ich für die Helligkeit bestimme und wenn der kleiner als die Mitte ist ich weiß nehme und andernfalls schwarz. Leider spielt das der Hue-Wert nicht mit. Je nach Hue kann auch eine hohe Helligkeit eigentlich recht dunkel sein (bei blau z.B) oder bei gelb kann man eigentlich immer Schwarz verwenden. Die Hue-Werte jetzt aufzudröseln wär jetzt doch schon recht mühselig.

Ich habe halt gehofft es gäbe eine Möglichkeit den "Unterschied" zweier Farben zu berechen, also den "Unterschied" der Hintergrundfarbe zu Weiß, und den zu Schwarz und die Farbe mit dem größten "Unterschied" hätte ich dann verwendet.

Trotzdem danke für die Anregungen
 
Z

ziege1234

Gast
Ich hatte ein ähnliches Problem und habe es damit gelöst das ich mir die Werte der einzelnen Farben addiert habe und das Ergebnis verglichen. Funktioniert sicher nicht immer....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Kontrast in einem Bild erzeugen AWT, Swing, JavaFX & SWT 37
M Image: Kontrast, Helligkeit und Farben ändern? AWT, Swing, JavaFX & SWT 15
Soloeco Graphics2D - Verbinden zweier Punkte AWT, Swing, JavaFX & SWT 6
F Kollision zweier Images AWT, Swing, JavaFX & SWT 3
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
W Vergleich zweier Strings und schreiben in Textarea AWT, Swing, JavaFX & SWT 12
S Überlappung zweier Komponenten AWT, Swing, JavaFX & SWT 12
J Vergleicher zweier Bilder AWT, Swing, JavaFX & SWT 2
W JavaFX Farben dynamisch anpassen AWT, Swing, JavaFX & SWT 4
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
M UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 9
M Swing UIManager funktioniert nicht mit Farben AWT, Swing, JavaFX & SWT 0
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
M AWT Farben in Bild ersetzen AWT, Swing, JavaFX & SWT 11
B Bild bearbeiten mit Transparenz (spiegeln, Farben austauschen) AWT, Swing, JavaFX & SWT 8
O keine ähnliche Farben durch Random in Java AWT, Swing, JavaFX & SWT 21
E JTable farben ändern AWT, Swing, JavaFX & SWT 2
J Auf die im Look and Feel eingestellten Farben zugreifen AWT, Swing, JavaFX & SWT 2
M Swing Zweidimensionales Array mit Farben erzeugen AWT, Swing, JavaFX & SWT 16
A AWT HSB-Farben dynamisch berechnen AWT, Swing, JavaFX & SWT 5
C JTable: Mehrere Farben in einer Zelle darstellen AWT, Swing, JavaFX & SWT 10
T bei einem jtextfield Farben benutzen AWT, Swing, JavaFX & SWT 7
K Farben in JMenues AWT, Swing, JavaFX & SWT 2
K Farben bei JMenus AWT, Swing, JavaFX & SWT 5
D Farben JList AWT, Swing, JavaFX & SWT 4
F Farben in Textpane AWT, Swing, JavaFX & SWT 14
S Farben eienr JTextPane dynamisch zuweisen AWT, Swing, JavaFX & SWT 2
D ComboBox mit Farben aus java.awt.color AWT, Swing, JavaFX & SWT 4
T Die Schrift in verschiedenen Farben blinken zu lassen AWT, Swing, JavaFX & SWT 2
G Knoten im Jtree mit unterscheidlichen Farben darstellen AWT, Swing, JavaFX & SWT 5
T verschiedene Farben in einem Text/Editfeld AWT, Swing, JavaFX & SWT 11
C Farben in BufferedImage ändern ? AWT, Swing, JavaFX & SWT 2
V Farben setzen bei einigen Komponenten (JScrollBar, . AWT, Swing, JavaFX & SWT 3
M Farben im TextArea AWT, Swing, JavaFX & SWT 5
T extends JButton übernehmen Farben AWT, Swing, JavaFX & SWT 4
S RGB Farben addieren AWT, Swing, JavaFX & SWT 1
B JList Zeilen in verschiedenen Farben markieren. AWT, Swing, JavaFX & SWT 3
K JTextArea mit verschiedenen Farben betreiben [Chat] AWT, Swing, JavaFX & SWT 3
G JTextArea.append() in verschiedenen Farben AWT, Swing, JavaFX & SWT 2
Icewind Verschiedene Farben in einer JTextArea AWT, Swing, JavaFX & SWT 3
W Editor Syntax Farben AWT, Swing, JavaFX & SWT 2
R Farben ändern AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben