Problèmes de transparence (gif, png)

WRInaute discret
Bonjour

Réduction taille d'une image, je m'arrache ce qu'il reste de cheveux depuis 2 jours

Tout fonctionne s'i n'y a pas de transparence, sinon :
- format jpg : pas de problème
- format gif : image créée mais non transparente
- format png : fichier créé mais non image

Mes versions :
PHP Version 5.3.3-7+squeeze28
GD Version : 2.0

Mon code (variables explicites) :
Code:
$image_reduite = substr($source, 0, -4)."-resize-".$largeur_finale.'.'.$extension;
if ($extension == "jpg" || $extension == "jpeg") $image_nouvelle = imagecreatefromjpeg($source);
	elseif ($extension == "png") $image_nouvelle = imagecreatefrompng($source);
		else $image_nouvelle = imagecreatefromgif($source);
$image_finale = imagecreatetruecolor($largeur_finale,$hauteur_finale);
if ($extension == "png")
	{
		imagealphablending($image_finale,false);
		imagesavealpha($image_finale,true);
		$transparent = imagecolorallocatealpha($image_finale, 0, 0, 0, 127);
		imagefilledrectangle($image_finale, 0, 0, $largeur_finale, $hauteur_finale, $transparent);
		imagealphablending($empty, true);
	}
if ($extension == "gif")
	{
		$transparent_index = imagecolortransparent($image_nouvelle);
		imagepalettecopy($image_nouvelle, $image_finale);
		imagefill($new_image, 0, 0, $transparent_index);
		imagecolortransparent($image_finale, $transparent_index);
		imagetruecolortopalette($image_finale, true, 256);
	}
imagecopyresampled($image_finale,$image_nouvelle,0,0,0,0,$largeur_finale,$hauteur_finale,$largeur_originale,$hauteur_originale);
if ($extension == "jpg" || $extension == "jpeg") imagejpeg($image_finale, $image_reduite, 100);
	elseif ($extension == "png") imagepng($image_finale, $image_reduite, 100);
		else imagegif($image_finale, $image_reduite, 100);
imagedestroy($image_nouvelle);
imagedestroy($image_finale);

Merci de votre aide et bonne journée
 
WRInaute discret
Petite erreur qui ne change rien au problème pour image gif
Remplacer
Code:
imagefill($new_image, 0, 0, $transparent_index);
par
Code:
imagefill($image_finale, 0, 0, $transparent_index);
 
WRInaute discret
Bonjour niap

Ma foi non, j'ai zappé sur ce problème pour quelques temps (souvent, quand on y revient, c'est l'illumination !)
Mais ça marche pour le jpg et mis en oeuvre sur un de mes sites, voir par exemple la page :
http://www.geologues-prospecteurs.fr/especes-minerales/f.php?page=6

Et travaille sur une autre appli qui me pose des problèmes d'utilisation de imagettftext depuis 2 jours.
M'en vais d'ailleurs poster sur ce sujet

Merci de votre intérêt et bonne soirée
 
Discussions similaires
Haut