Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 771 fois - Téléchargée 34 fois
<?php // http://intranet/travail/test/cutImg.php?align=11&img=./img.jpg&h=300&l=50 // align=largeur.hauteur; 1:gauche ou haut 2:centrer 3:droite ou bas $largeur=100; $hauteur=100; $image='./img.jpg'; $align=22; if(isset($_GET['img'])) { $imaget=$_GET['img']; if(is_file($imaget) && ereg(".jp[e]?g$", $imaget) && !ereg("[\.]{2}/\\", $imaget) && !ereg("://", $imaget)) { $image=$imaget; } } if(isset($_GET['align']) && ereg("^[1-3]{2}$", $_GET['align'])) { $align=$_GET['align']; } if(isset($_GET['h']) && ereg("^[0-9]{2,}$", $_GET['h'])) { $hauteur=$_GET['h']; } if(isset($_GET['l']) && ereg("^[0-9]{2,}$", $_GET['l'])) { $largeur=$_GET['l']; } $img_in = imagecreatefromjpeg($image); $size = getimagesize($image); $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); switch($align[0]) { case 1: $src_x=0; break; case 2: $src_x=($new_larg-$largeur)/2; break; case 3: $src_x=($new_larg-$largeur); break; } switch($align[1]) { case 1: $src_y=0; break; case 2: $src_y=($new_haut-$hauteur)/2; break; case 3: $src_y=($new_haut-$hauteur); break; } // on copie la zone de l'image de hauteur voulue dans l'image vide @imagecopy($im, $img_out, 0, 0, $src_x, $src_y, $largeur, $hauteur) or imagecopy($im, $img_out, 0, 0, 0, 0, $largeur, $hauteur); imagejpeg($im); // 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); switch($align[1]) { case 1: $src_y=0; break; case 2: $src_y=($h-$hauteur)/2; break; case 3: $src_y=($h-$hauteur); break; } @imagecopy($im, $img_out, 0, 0, 0, $src_y, $l, $hauteur) or imagecopy($im, $img_out, 0, 0, 0, 0, $l, $hauteur); imagejpeg($im); // 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); switch($align[0]) { case 1: $src_x=0; break; case 2: $src_x=($l-$largeur)/2; break; case 3: $src_x=($l-$largeur); break; } @imagecopy($im, $img_out, 0, 0, $src_x, 0, $largeur, $h) or imagecopy($im, $img_out, 0, 0, 0, 0, $largeur, $h); imagejpeg($im); // destruction des images en mémoire imagedestroy($img_out); imagedestroy($im); } elseif ($l < $largeur && $h< $hauteur) { imagejpeg($img_in); } // destruction de l'image en mémoire imagedestroy($img_in); ?>
11 juil. 2011 à 18:23
Merci
16 avril 2006 à 01:06
16 avril 2006 à 00:56
Dis-moi comment tu peux faire pour enregistrer l'image créé dans un repertoire ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.