Farben-Rechnen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Farben-Rechnen

Beitrag von sen-me »

Ich habe mal ne Frage über Farbausrechnung
Der benutzer wählt eine Farbe, die die textfarbe sein soll.
Nun wird diese Textfarbe im Stringadget verwendet, aber wenn er weiß wählt müsste eine Farbe im Hintergrund sein, auf der man weiß sieht.
Wie rechne ich aus das man immer eine optimale Erkennung hat?

Ich glaube mal das alle hellen Farben man auf schwarz gut sieht.
Nun müsst ich irgendwie rauskriegen ob die Farbe hell ist bzw dunkel (dann weiß).
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

er soll seine hintergrundfarbe auch selber wählen können... ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Oder den direkten Kontrast. Sieht schick aus bei RGB(255,0,0) und RGB(0,0,255) Rot/Blau :lol:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

der direkte kontrast von 255,0,0 wäre 0,255,255 ;)

...daran hab ich auch schon gedacht:

Code: Alles auswählen

color = rbg(red,gren,blu)
complementcolor = rgb(255-red,255-grn,255-blu)
....aber dann muss man noch was einbaun, das prüft, ob ein wert zu nah an der mitte ist...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Is mir auch grad aufgefallen. Wolt's grad editieren. Warst schneller. Danke.
Naja. Das einzige wenn der Kontrast fast dem Originalwert entspricht, is doch bei grautönen. Die werden schon nicht so häufig verwendet. Und wenn doch, dann merkt's der User sicher schnell. Du könntest aber auch nur wenige Farben zur Auswahl geben, und dazu einen passenden Kontrast speichern.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Ha, danke, hab gerade gegrübelt wie ich am dümmsten die Kontrastwerte errechne lol ;)
Aber theoretisch könnte man doch die Werte die sehr nahe an der mitte sind in ein "Feld" packen, und sobald die Gewählte Farbe sich innerhalb dieses Felde befindet eine standard Kontrastfarbe nehmen, bzw. irgendeinen bestimmten Wert zu der errechneten Kontrastfarbe dazu addieren.


Just my 5 Cents
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Es geht darum eine Textfarbe zu wählen die in Bildern benutzt wird, eine Hintergrundfarbe wird es nicht geben, aber ich will die textfarbe als quasi Vorschau in der StringGadget reinsetzen und eben den Hintergrund verändern damit man den Text noch leserlich verändern kann
Bild
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

Naja, da sollte sich doch das Kontrast System durchaus für verwenden lassen oder?
Einziges Problem welches ich gerade sehe ist, dass es bei der genauen Komplementärfarbe einen sehr krassen Kontrast geben dürfte welcher für das Auge nicht allzu harmonisch wirkt und somit das Ergebnis verfälschen könnte. Aber hier könnte man ja auch durch einfache addition entgegenwirken *glaub*

Und hier stellt es sich wiedermal heraus: Ich hätte in der Zeit als ich noch zur Schule ging und noch Kunst hatte besser aufpassen sollen ;)

Spontaner einfall:
Wenn der Text in einem Bild verwendet werden soll gehe ich mal davon aus, dass man vorher wählen kann, wo genau der Text stehen soll, oder?
Wenn ja, dann greif doch einfach die derzeitige Hintergrundfarbe ab, also die Farbe von dem Pixel auf den geklicked wurde um den Text dort zu positionieren. Hier kommt man dann dem finalen Eindruck am nähesten, ausser innerhalb der Textbreite bestehen sehr starke Farbverläufe bzw. Unterschiede.


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ja, die Idee mit den Komplementärfarben geht schon mal in die richtige Richtung - exakt dieselbe Überlegung hatte ich schon vor über einem Jahr.

Hinweis: Es gibt genau eine Farbe im RGB-System, die KEINE Komplementärfarbe hat; das ist grau, also RGB(127, 127, 127)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

Der Text wird auf einem Screenshot der grade geknipst wurde eingefügt ^^
Aber man kann ja 1. bei Spielen das abschalten und 2. beim Desktop anpassen bevor man knippst...
Bei Spielen kann man auch einfach je nachdem obs ein helleres oder dunkleres Feeling ist auch anpassen
Bild
Antworten