Farben vergleichen...

CHaoSlayeR

Erfahrenes Mitglied
Hi ihr PHP-Experten!

ich hab folgenden Sachverhalt:

ich hab eine Gallery gebastelt, in der unter anderem auch über jedem Bild, welches erst vor kurzem hochgeladen wurde ein "neu" erscheinen läßt mit bisher fest definierter Farbe.

Nun habe ich allerdings eine Möglichkeit eingebaut, um die Hintergrundfarbe der einzelnen Zellen zu verändern und somit muss ich auch überprüfen, ob das "neu" auch noch gut lesbar ist und wenn nicht, dann soll sich die Farbe des "neu" verändern, wobei ich dann auf andere vordefinierte Farben zurückgreifen möchte, um das farbliche Gesamtbild in der Galerie zu erhalten.

Also, ich möchte nun die Standardfarbe des "neu" mit der für den Zellenhintergrund vergleich und bei einem bestimmten abstand die Farbe für "neu" anders setzen. Folglich brauch ich eigentlich nur eine Methode, um den hexadezimalen Wert der Farbe in eine Ganzzahl zu verwandeln (meinetwegen auch RGB einzeln; ist ja auch kein Problem). Dann könnte man die beiden Werte sehr einfach weiterverwenden.

Hat da jemand ne Möglichkeit parat? Oder geht das mit dem "Abstand" der Farben auch mit hexadezimalen Werten?
 
RGB-technische Farbenlehre: Kapitel 1 ;)


RGB = Rot - Grün - Blau
Der Hexcode teilt sich folgedermaßen auf die Farben auf: RRGGBB. Daraus folgt, das z.B. die ersten 2 Zeichen fürs rot zuständig sind.

Hexzahlen:
0 = gar nichts (=schwarz)
1,2,3,4,5,6,7,8,9,a,b,c,d,e
f = volle Farbe (hier: rot)

gezählt wird dabei so:
00 = kein rot-anteil
01
02
[...]
fe
ff = totales rot


Genauso ist das Verfahren mit allen anderen Farben. Die Kombination aus allem ergibt dann die Endfarbe.
ff0000 = Rot
00ff00 = Grün
0000ff = Blau
000000 = schwarz
ffffff = weiß


Mit entsprechenden PHP-Kenntnissen sollte der Erfindung einer neuen Farbe (z.B. Bleen *g*) nichts mehr im Wege stehen.

Ronin
 
sorry, aber da hast du mich glaub ich etwas missverstanden!

Was du da geschrieben hast ist mir klar und im Kopf das auszurechnen, dass F7 in dezimal 247 ist, ist auch kein Problem, aber wie sag ich das jetzt dem Server über PHP, dass er eine Hex-Zahl in eine Dez-Zahl umwandeln soll?

Hab in der SelfPHP Referenz dafür keine Funktion gefunden und ich will den Server ja auch nicht alles einzeln ausrechnen lassen, dazu müßte ich ihm ja noch sagen, was F entspricht, was E entspricht, etc.

Folglich wäre eine vorhandene Funktion wesentlich entspannter, sowas muss es doch irgendwo geben...

P.S.: sorry, ich bin kein Anfänger, was Farben angeht und schon gar nicht im Web-Bereich. Ich hab nur grad ein kleines Problem mit der Umwandlung vom 16er ins 10er System.

[ --= EDIT =-- ]

ich habs doch noch gefunden: hexdec() nennt sich die Funktion. Ich war mal wieder zu blöd und hab nicht in die mathematischen Funktionen geschaut (schande auf mein Haupt)...
 
Zuletzt bearbeitet:
Zurück