cmoijulie | Bonsoir, voici le code que j'utilise pour la réalisation d'une miniature, il ne m'affiche aucune erreur mais ne créer rien dans le dossier miniature...
Code :
- <?php
- print ("nom photos : $name_file" );
- function generer_miniature($name_file, $largeur, $hauteur, $qualite) {
- // chemin de la miniature à générer
- $dest = "../miniatures/";
-
- // dossier où se trouve l'image source
- $dossier = "../photos/";
-
- $img_in = ImageCreateFromJpeg($dossier.$name_file);
-
- $size = getimagesize($dossier.$name_file);
- $l = $size[0];
- $h = $size[1];
-
- if (($l >= $largeur) && ($h>= $hauteur)) {
-
- $new_haut = ($h * $largeur) / $l;
- if($new_haut < $hauteur) {
-
- $new_haut = $hauteur;
- $new_larg = ($l * $hauteur) / $h;
-
- } else {
-
- $new_larg = $largeur;
-
- }
-
- // on réduit l'image à la largeur voulue, mais en gardant la hauteur proportionnelle
- $img_out = ImageCreate($new_larg, $new_haut);
- ImageCopyResized($img_out, $img_in, 0, 0, 0, 0, ImagesX($img_out), ImagesY($img_out), $l, $h);
-
- // création d'une image vide aux dimensions de la miniature
- $im = ImageCreate($largeur, $hauteur);
-
- // on copie la zone de l'image de hauteur voulue dans l'image vide
- ImageCopy($im, $img_out, 0, 0, 0, 0, $largeur, $hauteur);
- ImageJpeg($im, $dest, $qualite);
-
- // destruction des images en mémoire
- ImageDestroy($img_out);
- ImageDestroy($im);
-
- } elseif (($l < $largeur) && ($h >= $hauteur)) {
-
- $img_out = ImageCreate($l, $h);
- ImageCopyResized($img_out, $img_in, 0, 0, 0, 0, ImagesX($img_out), ImagesY($img_out), $l, $h);
-
- $im = ImageCreate($l, $hauteur);
-
- ImageCopy($im, $img_out, 0, 0, 0, 0, $l, $hauteur);
- ImageJpeg($im, $dest, $qualite);
-
- // destruction des images en mémoire
- ImageDestroy($img_out);
- ImageDestroy($im);
-
- } elseif ($l >= $largeur && $h < $hauteur) {
-
- $img_out = ImageCreate($l, $h);
- ImageCopyResized($img_out, $img_in, 0, 0, 0, 0, ImagesX($img_out), ImagesY($img_out), $l, $h);
-
- $im = ImageCreate($largeur , $h);
-
- ImageCopy($im, $img_out, 0, 0, 0, 0, $largeur, $hauteur);
- ImageJpeg($im, $dest, $qualite);
-
- // destruction des images en mémoire
- ImageDestroy($img_out);
- ImageDestroy($im);
-
- } elseif ($l < $largeur && $h< $hauteur) {
-
- ImageJpeg($img_in, $dest, $qualite);
-
- }
-
- // destruction de l'image en mémoire
- ImageDestroy($img_in);
- }
- ?>
|
si quelqu'un a une solution ? Message édité par cmoijulie le 15-11-2005 à 23:46:16
|