it-swarm.com.de

Der beste Weg, eine Farbe abzudunkeln, bis sie lesbar ist?

Was ist der beste Weg, um eine Farbe abzudunkeln, bis sie lesbar ist?

Ich habe eine Reihe von Titeln, denen eine Farbe zugeordnet ist, aber einige dieser Farben sind sehr hell und jeder darin gezeichnete Text ist nicht lesbar. Ich habe mit HSB herumgespielt und ich kann anscheinend keinen Algorithmus finden, der die Farbe abdunkelt, ohne sie silbrig aussehen zu lassen.

Ich denke, ich möchte auch die Sättigung ändern. Gibt es eine Standardmethode dafür?

4
Mark

Mit HSB reduzieren Sie im Allgemeinen B, um eine dunklere Version einer bestimmten Farbe zu erhalten, und erhöhen möglicherweise S, wenn die Farbe zu matt aussieht. Dies funktioniert für die meisten Farben außer Gelb (es entsteht eine hässliche, schlammige Farbe), aber nur, weil es kein "dunkles Gelb" gibt.

Ich weiß nicht, warum Sie silbrig werden, wenn Ihre Ausgangsfarbe nicht weiß ist, aber es ist fair zu sagen, dass Silber "dunkelweiß" ist, genau wie Braun ist "dunkelorange".

Wenn Ihnen die Ergebnisse immer noch nicht gefallen, ändern Sie Ihre Farben nicht, sondern verwenden Sie schwarzen Text auf hellem Hintergrund und weißen Text auf dunklem Hintergrund. Siehe Dynamische Auswahl der kontrastreichen Textfarbe (in Bezug auf die Hintergrundfarbe) .

4

Wenn Sie die Farbe in einen anderen Farbraum konvertieren, z. YIQ, YUV oder besser noch CIE-L * ab, CIE-L * CH, dann erhalten Sie anstelle der RGB-Kanäle Rot, Grün und Blau drei verschiedene Kanäle, wobei einer die Intensität ist.

In YIQ, YUV nähert sich der Y-Kanal der Intensität an, und in Lab und LCH tut dies der L-Kanal.

Sie können dann den Intensitätskanal leicht reduzieren und dann wieder in RGB konvertieren.

Für einen hohen Kontrast empfehle ich, die Intensität zu ändern, bis Sie mindestens einen halben Bereichskontrast zwischen Vordergrund und Hintergrund haben.

Z.B. Wenn Ihr Bereich 0 ... 255 beträgt, beträgt der Unterschied im Intensitätskanal mindestens 127.

Hinweis: YIQ hat die einfachste Konvertierung von und nach RGB:

Y = 0.299 * R + 0.587 * G + 0.114 * B
I = 0.596 * R - 0.274 * G - 0.322 * B
Q = 0.212 * R - 0.523 * G + 0.311 * B

R = 1.0 * Y + 0.956 * I + 0.621 * Q
G = 1.0 * Y - 0.272 * I - 0.647 * Q
B = 1.0 * Y - 1.105 * I + 1.702 * Q

Bearbeiten: Verwenden der W3C-Richtlinie

Kontrastverhältnis: (L1 + 0,05)/(L2 + 0,05)
wobei L1 die relative Luminanz des helleren der Farben und L2 die relative Luminanz des dunkleren der Farben ist.

Kontrast (Minimum): Für normalen Text 4,5: 1, für großformatigen Text 3: 1

Wenn der Hintergrund heller ist, verwenden Sie den Y-Kanal des Hintergrunds als L1 und den Y-Kanal des Vordergrunds als L2.

Wenn der Vordergrund heller ist, verwenden Sie den Y-Kanal des Vordergrunds als L1 und den Y-Kanal des Hintergrunds als L2.

Anmerkungen:

  1. Wenn Sie einen Bereich von 0 ... 255 für RGB-Kanäle verwenden, teilen Sie diese (oder Y) durch 255, bevor Sie die Kontrastformel verwenden, da die Formel für den normalisierten Bereich von 0 ... 1 zu gelten scheint

  2. Die Kontrastformel zeigt, dass der Unterschied zwischen den Farben umso geringer sein muss, je dunkler die Farben sind, um einen hohen Kontrast zu erzielen. (Helle Farben auf Schwarz sind leichter wahrzunehmen als helle Farben auf Weiß.)

8
Danny Varod

WCAG2.0 hat einen gut recherchierten und international vereinbarten Standard für akzeptable Kontraste, wodurch die von Bevan erwähnte Subjektivität beseitigt wird.

Hier gibt es einen sehr guten Checker, mit dem Sie Farben über die Schieberegler anpassen können, bis sie das erforderliche Mindestniveau erreicht haben. Sie streben ein "Ja" auf der rechten Seite an, je nachdem, welchen Grad an AA/AAA-Konformität Sie anstreben.

http://snook.ca/technical/colour_contrast/colour.html

Dort finden Sie einen Link zu weiteren Einzelheiten zu der Formel, mit der das akzeptable Niveau berechnet wird.

1
Ian Hamilton

"Lesbar" ist eine etwas subjektive Maßnahme, die von den Einstellungen des Monitors, dem Geschlecht (die meisten Farbmängel treten bei Männern auf) und dem Alter abhängt.

Sie können einen leicht "Brute Force" -Ansatz wählen, indem Sie den Farbton beibehalten und die Sättigung auf 1,0 und die Helligkeit auf 0,5 erzwingen.

(Wie ich mich an einen Artikel erinnere, den ich vor ein paar Jahren gelesen habe, beträgt die Lichtmenge, die durch die Hornhaut eines 60-Jährigen fällt, weniger als 25% der Lichtmenge, die früher im Alter von 18 Jahren durchgemacht wurde. Einem Artikel zufolge fand ich: hier , die Zahl ist noch schlechter - die Lichtdurchlässigkeit reicht von einem Hoch von 16% (1/6) bis zu einem Tief von 6% (1/16), abhängig von den Bedingungen.)

0
Bevan