Hi,
ich möchte eine Farbe innerhalb eines Bildes per PHP gegen eine andere Farbe austauschen.
Soweit ich weiß, kann ich dieses (leider) nur Pixel by Pixel indem ich überimagecolorat
die Farbe des jeweiligen Pixels auslese und diese dann überimagesetpixel
neu setzte.
nein, bei palettenbasierten Bildformaten (GIF oder 8bit-PNG) kannst du auch die Paletteneinträge direkt bearbeiten:
http://de3.php.net/manual/en/function.imagecolorsforindex.php
http://de3.php.net/manual/en/function.imagecolorset.php
Jetzt möchten ja aber (lt. der Doku) die Funktionen die Farbwerte in Dezimal haben, mir liegen diese aber ausschließlich in HEX bzw. RGB vor.
Nein. Dezimal oder Hex ist eine Frage der *Darstellung* eines Zahlenwerts, nicht seiner Speicherung oder internen Übergabe.
Ist es korrekt, das ich also jetzt erst das Bild einlesen müsste, dann über
imagecolorallocate
meine beiden Farben (die zu ersetzende und die neue) bestimme und dann die Ersetzungen starte ?
Die entscheidende Frage ist zunächst mal: Hast du ein palettenbasiertes Bild? Wenn ja, kannst du einfach die Paletteneinträge manipulieren. Wenn nein, wirst du wohl oder übel jedes Pixel einzeln ansprechen müssen.
Ciao,
Martin
Alle Tage sind gleich lang. Aber unterschiedlich breit.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(