Aller au contenu

problème avec GD...


Messages recommandés

Bonsoir à tous,

Allors voilà: je désire redimmensionner des images png (+ de 300, donc le faire à la main est assez inenvisageable!) qui font toutes 128*128, pour obtenir les mêmes, mais en 32*32!

Sauf que lorsque je fais ca, je perds laa transparence qu'il y avait sur les images de départ (le fond devient noir, au lieu d'être transparent)!

Voici mon code, si quelqu'un a une idée:

// Répertoire de départ
$dir = '../images/date/';
// Répertoire de destination
$newdir = '../images/new/';
$dh = opendir($dir);
$percent = 1/4; // ratio
while (($file = readdir($dh)) !== false)
{
if ($file != '.' && $file != '..')
{
	// Calcul des nouvelles dimensions
	list($width, $height) = getimagesize($dir.$file);
	$newwidth = $width * $percent;
	$newheight = $height * $percent;
	//echo "fichier : $file : type : " . filetype($dir . $file) . "<br />\n";

	// chargement
	$thumb = imagecreatetruecolor($newwidth, $newheight);
	$img = imagecreatefrompng($dir.$file);
	imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
	imagealphablending($thumb, false);
	imagesavealpha($thumb, true);
	imagepng($thumb, $newdir.$file);
}
}
closedir($dh);

Lien vers le commentaire
Partager sur d’autres sites

pourquoi utiliser

imagealphablending($thumb, false);

?? ça risque d'enlever la transparence non?

ou alors

imagealphablending($thumb, true);

j'avais essayé dasn les 2 cas, et ca ne changeait rien au résultat!

J'ai en fait essayé toutes les possibilités entre imagealphablending() et imagesavealpha(), et ca donne toujours la même chose: mon fond devient noir!

J'ai essayé aussi imagemagick, mais pas trop compris comment le manier! J'ai alors testé php-magick mais mon programme tourne à 100% sans s'arreter (j'ai pourtant repris un exemple fourni dans les sources)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...