Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich gebe einem Objekt als Hintergrundfarbe einen long wert.

da das ganze eher zufällig abläuft, weiß ich nicht welche fordergrundfarbe ich brauche, damit man noch was lesen kann.

Und nun die Frage:

Kann man irgendwie die Invertierte Farbe ermitteln???

Also z.B. aus Schwarz wird weiß, aus rot wird mint, aus gelb blau und jeweils umgekehrt.

Geschrieben

Ich weiß zwar nicht, welche Sprache du meinst, aber idR. ist es doch so, daß du drei Zahlen für die Farbe hast: eie für Rot, eine für Grün und eine für Blau. Das sind idR. je 8 bit - als0 von 0 bis 255! Diese Werte mußt da dann nur umkehren...

Bsp:

Du hast folgende Farbe:

R 255

G 120

B 0

da errechnest du also jeweils die Differenz zu 255 und schon haste die negative Farbe:

R 0

G 135

B255

Du mußt nur bei Grauwerten aufpassen - da kann die negative Farbe mit Pech dieselbe sein, wie die Farbe selbst...

Geschrieben

Eine Möglichkeit wäre zur Zahl einfach 0x00808080 (hex) oder 8421504 (dezimal) zu addieren. Somit bekommst du zwar nicht die Komplementärfarbe, aber zumeindest sollte in den meisten Fällen lesbar sein. (grau auf weiß bzw. schwarz, usw.)

Eine andere Möglichkeit wäre, dass du dich auf weiß oder schwarz als Vorderrgrundfarbe festlegst. Dann ermittelst du den Durchschnitt der Farbanteile. Wenn dieser größer 128 ist, dann nimmst du schwarz und sonst weiß.

Pseudocode:


iHelligkeit = (GetRValue(cColor)

              +GetGValue(cColor)

              +GetBValue(cColor)) / 3;


if ( iHelligkeit >= 128)

  cColorNeu = 0;

else

  cColorNeu = 0xFFFFFF;


Ich hoffe das hilft...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...