Christian Seiler: Wie kann man Farben invertieren ?

Beitrag lesen

Hallo,

gibt es in PHP eigentlich eine Funktion mit der ich Farben invertieren kann ?

Wenn Du uns genau erklärst, was Du meinst, dann könnten wir Dir vielleicht weiterhelfen.

Was willst Du invertieren?

[ ] Die Farben in einer Bilddatei
[ ] Einen Farbwert

Bei ersterem nützen Dir die GD-Funktionen (vielleicht) etwas, bei letzterem ginge das so:

function invert_colorval ($colorval)
{
  $res = preg_match ("/^#?([a-z0-9]{2})([a-z0-9]{2})([a-z0-9]{2})$/i", $colorval, &$matches);
  if (!$res) {
    // color value could not be parsed
    return false;
  }

$red = 255 - hexdec($matches[1]);
  $green = 255 - hexdec($matches[2]);
  $blue = 255 - hexdec($matches[3]);

return sprintf ("#%'02x%'02x%'02x", $red, $green, $blue);
}

Achtung: diese Funktion akzeptiert eine HTML-Farbe (in der Form #ffffff - alles andere wird verworfen) und liefert wiederrum eine zurück; wenn Dir das nicht passt, musst Du sie umschreiben.

Grüße,

Christian