Aller au contenu

problème avec GD...


Messages recommandés

Posté(e)

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);

Posté(e)
  theocrite a dit :

C'est pas envisageable un préprocessing avec convert d'imagemagick ?

Euh, si en fait... :zarb:

Je suis tellement à fond dans mon PHP que j'en oublie les solutions extérieures! :transpi:

Bon, ben je vais voir ce que je peux faire ca...

Posté(e)

pourquoi utiliser

imagealphablending($thumb, false);

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

ou alors

imagealphablending($thumb, true);

Posté(e)
  Wooden a dit :

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)

Archivé

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

×
×
  • Créer...