Vor Jahren, in meiner lange verlorenen Kopie von Charles Petzold Windows 3.0 Programmierung Buch, gab es eine magische COLORREF oder RGB-Wert dokumentiert, die Sie verwenden könnten, um zu überprüfen, ob Sie sollte Text in einer hellen Farbe oder einer dunklen Farbe zeichnen. Z.B. Wenn die Hintergrundfarbe unter diesem Wert lag, dann verwende schwarzen Text, wenn sie höher war, verwende weißen Text. Weiß jemand, was dieser magische Wert ist?Magic COLORREF/RGB-Wert zu bestimmen, wann hell/dunkel Text
Antwort
kann ich nicht über COLORREF sagen, aber ich habe gute Ergebnisse bekam die luminance als Schwelle mit:
Y= 0.3 * R + 0.59 * G + 0.11 * B
mit Farben als Dezimalwert zwischen 0,0 und 1,0 ausgedrückt.
Wenn Y> = 0,5 Ich betrachtete den Hintergrund "Licht" (und dunklen Text verwendet), wenn Y < 0,5 Ich tat das Gegenteil.
Ich erinnere mich, ich auch andere Formeln einschließlich der einfache Mittelwert verwendet:
L = (R+G+B)/3
aber ich wusste nicht, wie das Ergebnis. Es erscheint mir logisch, dass Green mehr zu Leichtigkeit beiträgt als Red und Red mehr als Blue.
Die Berechnung der Luminanz funktioniert einwandfrei. Ich werde diesen magischen COLORREF-Wert eines Tages finden ... :) – Rob
- 1. Smart-gwt. Wie zu bestimmen, wann der Ladevorgang abgeschlossen ist
- 2. Bestimmen, wann Bilder in HTML geladen werden?
- 3. Rails/Devise - Bestimmen, wann die Benutzersitzung abläuft
- 4. Magic submit button!
- 5. Get Button Text Wert, um Variablenwert zu bestimmen
- 6. Magic Quotes in PHP
- 7. Magic-Zoom stört Fotorama?
- 8. Magic Quotes GPC Joomla
- 9. .Net - Strategien Magic String
- 10. Javascript Magic Methoden
- 11. Magic Square Programm (C++)
- 12. Apple Magic Mouse Api
- 13. Symfony 3 magic
- 14. Wie bestimmen moderne optimierte Compiler, wann sie optimiert werden sollen?
- 15. Wie Tupeltypen zu bestimmen?
- 16. Bestimmen, wann zwei Fahrzeuge in Kontakt sind (Veins, Omnet ++)
- 17. Bestimmen Sie, wann ein lauter Ton in C#
- 18. SQL Datenbank für Magic Cardgame
- 19. PHP Magic Quotes Hinzufügen von Schrägstrichen zu Vorlagedatei?
- 20. Spring.Net IoC und Magic Strings
- 21. Magic Mouse Batteriestatus in MenuBar
- 22. Magic Apache Umleiten für/~ Benutzername
- 23. Benötigen Sie Python datetime magic
- 24. Wie zu bestimmen, wann die Pufferung auf einem HTML5 Audio-Element abgeschlossen ist
- 25. So verwenden Sie Ajax-Rückruf, um zu bestimmen, wann das Formular gesendet werden soll
- 26. Gibt es programmatisch eine Möglichkeit zu bestimmen, wann eine App zuletzt in Android geöffnet wurde?
- 27. Gibt es einen eingebauten Weg, um zu bestimmen, wann alle Observablen aufgelöst wurden?
- 28. Ist es möglich zu bestimmen, wann ein Element mit JavaScript gerendert wurde?
- 29. Gibt es eine Möglichkeit zu bestimmen, wann UIPickerView neu geladen wurde?
- 30. Wann ein Modul zu verwenden, und wann eine Klasse
Wie definieren Sie "unten" und "oben" bei zwei RGB-Werten? Verwenden Sie nur Graustufen? – suszterpatt
Es scheint, als ob die Konvertierung in HSL eine bessere Wette ist, und dann können Sie basierend auf der L (oder möglicherweise S) Komponente überprüfen. –
Ich bin sicher, wenn Sie die RGB-Werte selbst betrachten, können Sie die Toleranz berechnen. Es klingt aber sehr interessant! – Layke