Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Leserliche Schriftfarbe für Hintergrund
Sw4t
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

Leserliche Schriftfarbe für Hintergrund

beantworten | zitieren | melden

Hallo!

Die Schriftfarbe eines Controls soll abhängig von dessen Hintergrundfarbe immer leserlich erscheinen, wie schwarzer Hintergrund und weiße Schrift - oder umgekehrt.
Dafür habe ich den Farbwert invertieren lassen.
Bei vielen Farben mag das einen Sinn ergeben, bei einigen Grautönen und Pastellfarben ist von der Schrift nicht mehr viel zu sehen.
Was könnte man da machen?
private Nachricht | Beiträge des Benutzers
chilic
myCSharp.de - Experte



Dabei seit:
Beiträge: 2.111

beantworten | zitieren | melden

Stattdessen eben doch wieder schwarz oder weiß verwenden.

Invertieren der Farben kann zu seltsamen Erscheinungsbildern führen, selbst wenn man es vom Kontrast her gesehen noch lesen kann.
Warum kann das Control beliebige Farben haben? Lassen die sich auf eine sehr begrenzte Anzahl einschränken? Dann würde ich Farbpaare vorgeben die man gut lesen kann und die nicht den Augen weh tun.
private Nachricht | Beiträge des Benutzers
Gimmick
myCSharp.de - Member



Dabei seit:
Beiträge: 148

beantworten | zitieren | melden

Schau mal hier:
https://www.nbdtech.com/Blog/archive/2008/04/27/Calculating-the-Perceived-Brightness-of-a-Color.aspx
private Nachricht | Beiträge des Benutzers
Sw4t
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

beantworten | zitieren | melden

@Gimmick
Sehr guter Hinweis, danke!

@chilic
Das Control dient der Vorschau der Farbauswahl des Nutzers. Darauf befindet sich ebenso ein Text, sinngemäß: "Wähle eine Farbe". Deswegen muss die Textfarbe angepasst und darf nicht eingeschränkt werden.
private Nachricht | Beiträge des Benutzers
chilic
myCSharp.de - Experte



Dabei seit:
Beiträge: 2.111

beantworten | zitieren | melden

Zitat
Das Control dient der Vorschau der Farbauswahl des Nutzers.
Also ein ColorPicker?
Dann ist die Lösung doch ganz einfach. Die gewählte Farbe wird nicht als Hintergrund des Labels angezeigt, was ich bei diesem Zweck sowieso als seltsam empfinden würde, sondern in einer separaten Fläche die nur die gewählte Farbe enthält und sonst nichts.
Du kannst dir bei Zeichenprogrammen abkucken wie die das machen.

Oder soll das eine Auswahl für die Hintergrundfarbe für Schrift sein? Dann biete auch eine Auswahl für die Schriftfarbe an. Damit hat der Nutzer selbst in der Hand was er einstellt und du bist aus der Entscheidung raus. Sowas finde ich generell besser als wenn ein Programm versucht eine gute Entscheidung zu treffen. Ob jemand die gut findet oder nicht hängt letztendlich von der jeweiligen Person ab.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von chilic am .
private Nachricht | Beiträge des Benutzers
Sw4t
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

beantworten | zitieren | melden

Es ist kein ColorPicker, lediglich ein Button, der einen Farbdialog aufruft.
Die ausgewählte Farbe färbt den Button ein und setzt sogleich die Textfarbe auf einen leserlichen Farbwert - für die Vorschau.
Die Dialogfarbe wird woanders benötigt.
private Nachricht | Beiträge des Benutzers