Redimensionnement avec GD (encore)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Redimensionnement avec GD (encore)

Redimensionnement avec GD (encore)

par daddy008 » 26 mai 2006, 19:02

Salut tout le monde !

Alors voila, j'ai un problème avec GD et je n'arrive pas à la résoudre. J'ai lu au moins une dizaine de topic dessus, mais aucun qui avait de relation avec le mien...

Mon souci est qu'il ne semble pas y avoir d'erreur lors de l'execution du script (en tout cas on ne me le dis pas...), mais les images générées (grande taille et vignette) sont absolument toutes noires ! Elles sont aux bonnes dimensions, de ce coté là il n'y a pas de problème, mais tout motif a disparu, il ne reste plus que le fond noir. Voila mon code pour plus de clarté.
/* -----===== Traitement après upload =====----- */
$info_image = getimagesize($_FILES[pict][tmp_name][$i]);

//Uniformisation des tailles
if ($info_image[0] > $info_image[1])
{
	$rate = 600 / $info_image[0]; //Taux pour la grande image
	$vrate = 200 / $info_image[0]; //Taux pour la vignette
}
else
{
	$rate = 450 / $info_image[1];
	$vrate = 150 / $info_image[1];
}

$n_largeur = $rate * $info_image[0]; //Largeur et hauteur
$n_hauteur = $rate * $info_image[1]; //pour la grande image
$v_largeur = $vrate * $info_image[0];//Pareil pour la vignette
$v_hauteur = $vrate * $info_image[1];
						
$source = imagecreatefromjpeg($_FILES[pict][tmp_name][$i]);
//Grande image
$destination = imagecreatetruecolor($n_largeur,$n_hauteur);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $n_largeur, $n_hauteur, $image_info[0], $image_info[1]);
imagejpeg($destination, $nouveau[$i]);
imagedestroy($destination);
//Vignette
$vdestination = imagecreatetruecolor($v_largeur,$v_hauteur);
imagecopyresampled($vdestination, $source, 0, 0, 0, 0, $v_largeur, $v_hauteur, $image_info[0], $image_info[1]);
imagejpeg($vdestination, $vignette[$i]);
imagedestroy($vdestination);

/* -----===== Fin du traitement =====----- */
Je ne comprends pas le problème, pourtant tout semble correcte.
Merci de vos réponses :)