Nous utilisons déjà ce genre de code php pour gérer la transparence des png et des gif. Nous utilisons même une version plus complexe qui gère la couleur transparente dans les gif:
$thumb = ImageCreateTrueColor($newWidth, $newHeight);
if(in_array($extension,array('gif','png'))){
$trnprt_indx = imagecolortransparent($img);
if ($trnprt_indx >= 0) {
$trnprt_color = imagecolorsforindex($img, $trnprt_indx);
$trnprt_indx = imagecolorallocate($thumb, $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']);
imagefill($thumb, 0, 0, $trnprt_indx);
imagecolortransparent($thumb, $trnprt_indx);
}elseif($extension=='png'){
imagealphablending($thumb, false);
$color = imagecolorallocatealpha($thumb, 0, 0, 0, 127);
imagefill($thumb, 0, 0, $color);
imagesavealpha($thumb,true);
}
}
if(function_exists("imageAntiAlias")) {
imageAntiAlias($thumb,true);
}
if(function_exists("imagecopyresampled")){
ImageCopyResampled($thumb, $img, 0, 0, 0, 0, $newWidth, $newHeight,$this->width, $this->height);
}else{
ImageCopyResized($thumb, $img, 0, 0, 0, 0, $newWidth, $newHeight,$this->width, $this->height);
}
Cela devrait fonctionner avec n'importe quel format de png. J'ai parlé de paint.net car c'est l'outil que j'utilise personnellement, n'étant pas designeur, mais l'outil importe peu.
J'ai essayé différentes solutions pour ne plus avoir cela mais aucun succès, certains png avec un background transparents perdent leur transparence.
Je suis à cours de solution. Si quelqu'un d'autre a des idées, je suis prenneur