J'ai un png avec un fond transparent. Le premier plan est une couleur unique. Je veux changer cette couleur unique tout en préservant le fond 100% alpha.Remplacer la couleur de l'image et maintenir 100% fond alpha
Le code ci-dessous ne fonctionne pas, il a fonctionné quand j'avais un gif. Cependant, quand j'ai changé le gif en png, puis j'ai ajouté les choses alpha, le changement de couleur est tombé en panne.
Si j'ajoute imagetruecolortopalette($im, false, 255);
la couleur est modifiée mais alpha est perdu.
que quelqu'un peut me montrer où je vais envoyer les renseignements demandés
$imgname = "block.png";
$im = imagecreatefrompng($imgname);
imagealphablending($im, false);
$index = imagecolorclosest ($im, 153,153,153); // get Grey COlor
imagecolorset($im,$index,0,0,0); // SET NEW COLOR
imageAlphaBlending($im, true);
imageSaveAlpha($im, true);
$imgname = "result.png";
imagepng($im, $imgname); // save image as gif
imagedestroy($im);
EDIT :: C'est un script assez simple. Lorsque j'ai utilisé un gif, la couleur a changé et la nouvelle image a été enregistrée. Quand un changé en .png. La couleur ne change plus et l'image originale passe par le script inchangé.
Définir "ne fonctionne pas" et "il est tombé en panne". –
J'ai mis à jour la question –
Définir "cassé" comme "arrêté de travailler" n'est pas utile. :) –