Changer la couleur d'un pixel sur une image en php

WRInaute occasionnel
Bonjour à tous,

J'utilise la librairie GD pour effectuer quelques changements sur une image (tailles etc...)

Je me heurte actuellement a un probleme, j'aimerai changer la couleur de tous les pixels rouges par exemple.

J'ai un code un peu comme ca :

Code:
$img = imagecreatefrompng('test.png');
$color = imagecolorexact($img,255,0,0);
imagecolorset($img,$color,159,248,242);

imagepng($img);
imagedestroy($img);

Donc je crée mon image, je selectionne l'index de mon rouge (255,0,0), et je le remplace avec le imagecolorset, le souci c'est que ca marche pas ?! Des idées ?! :?
 
Nouveau WRInaute
Salut

Après quelques recherches, il semblerait que le problème vienne du fait que tu charges ton image à partir d'un fichier. Ce fichier n'utilisant pas de palette, les interactions avec celle-ci ne sont pas prises en compte.

Il faut repasser ton image en mode palette via la fonction imagetruecolortopalette, regarde ce bout de code : Change a specific color of an image
 
WRInaute occasionnel
ok merci gg00xiv, je vais allez voir de ce coté, je vous tiens au courant de mon avancé !
 
WRInaute occasionnel
mdr non non ;) quoique c'est vrai que ca pourrai servir xD

Enfaite, c'est tout simplement pour un systeme d'avatar, ca m'évite de faire 1000 cheveux de couleur, j'en fait qu'un et apres avec le code couleur je génere ;)
 
Discussions similaires
Haut