Hi,
Wie kann ich denn mit PHP eine Farbe (RGB) invertieren? So schwarz nach weiß usw.
Ich gehe mal von Paletten-Bildern aus, also dass man maximal 256 Farben zur Verfügung hat (wichtig für die Performance). Dabei muss man IIRC die einzelnen Werte einfach XOR 255 rechnen. Nun könnte man natürlich Pixel für Pixel umkehren, was aber _sehr_ unperformant ist. Stattdessen kann man in PHP mittels imagecolorset() (http://www.php.net/manual/en/function.imagecolorset.php) die Palette des Bildes bearbeiten - man hat also maximal 256 Vertauschungen. Also du benötigst:
1. imagecolorstotal() um die Anzahl der Farben zu bestimmen
2. evtl. imagetruecolortopalette(), falls 1. 0 zurückgibt (dann hast du ein Truecolor-Bild)
in einer Schleife von 0 bis Anzahl der Farben - 1 (die Palette besitzt einen Index von 0 bis max. 255):
3. imagecolorsforindex() um die Farb-Werte des Paletten-Indexes zu bestimmen
4. diese R-, G-, B-Farb-Werte XOR 255 rechnen
5. imagecolorset() um die neuen Farbwerte für diesen Paletten-Index zu setzen
Und außerdem möchte ich eine RGB-Farbe nach CMYK konvertieren und andersrum. Für CMYK hab ich mit Google nix gefunden, nur für HSB.
sorry - keine Ahnung.
Gruß,
Andreas.