J'essaie de redimensionner des pngs avec des fonds transparents en PHP et les exemples de code que j'ai trouvés en ligne ne fonctionnent pas pour moi. Voici le code que j'utilise, les conseils seront très appréciés !
$this->image = imagecreatefrompng($filename);
imagesavealpha($this->image, true);
$newImage = imagecreatetruecolor($width, $height);
// Make a new transparent image and turn off alpha blending to keep the alpha channel
$background = imagecolorallocatealpha($newImage, 255, 255, 255, 127);
imagecolortransparent($newImage, $background);
imagealphablending($newImage, false);
imagesavealpha($newImage, true);
imagecopyresampled($newImage, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $newImage;
imagepng($this->image,$filename);
Mise à jour Par "ne fonctionne pas", je voulais dire que la couleur de fond devient noire lorsque je redimensionne les pngs.
0 votes
Que voulez-vous dire par les exemples qui ne fonctionnent pas pour vous ?