Da immerwieder die Frage auftaucht wie man die Komplementärfarbe aus einem HEX-Wert berechnet, hab ich mal eine kleine Funktion geschrieben.
Bis vor kurzen wusste ich auch nicht dass das mit so einfach geht (gehen kann)
PHP
<?php
function color_invert($input_color){
// In diesen Array wird die Umkehrung der Farbwerte festgelegt
$replace_arr = array(
'0' => 'f',
'1' => 'e',
'2' => 'd',
'3' => 'c',
'4' => 'b',
'5' => 'a',
'6' => '9',
'7' => '8',
'8' => '7',
'9' => '6',
'a' => '5',
'b' => '4',
'c' => '3',
'd' => '2',
'e' => '1',
'f' => '0'
);
// Raute (#) entfernen und auf Kleinschreibung umstellen
$input = strtolower(str_replace('#', '', $input_color));
// Den String in Einzelstrings zerlegen
$split = preg_split('//', $input, -1, PREG_SPLIT_NO_EMPTY);
// Die Farbwerte umkehren
foreach($split as $key=>$value){
$invert .= str_replace($value, $replace_arr[$value], $split[$key]);
}
// Raute wieder einfügen
$output_color = '#'.$invert;
// und das Ergebnis ausgeben
return $output_color;
}
?>
Alles anzeigen
Gruß, Donkey