Moi je cherche à faire du négatif sur les images, c'est à peu près la même chose et j'ai le même problème.
Actuellement je converti mon image pixel par pixel ce qui est plutôt très long ~1seconde les 10ko d'image.
$x_d=imagesx($im3);
$y_d=imagesy($im3);
for($x=0;$x<$x_d;$x++){
for($y=0;$y<$y_d;$y++) {
$rgb=imagecolorat($im3,$x,$y);
$r=($rgb>>16)&0xFF;
$g=($rgb>>8)&0xFF;
$b=$rgb&0xFF;
$g=255-$g;$r=255-$r;$b=255-$b;
$color=imagecolorallocate($im3,$r,$g,$b);
imagesetpixel($im3,$x,$y,$color);
}}
Ce code n'est peu être pas optimisé.
(je ne suis pas un maître en php)
Si quelqu'un à plus rapide je suis preneur.