Pages: 1 | |
Auteur | Message |
---|---|
jacque99 | 12/10/2010 à 09:37:27 |
Membre
|
Traitement d'image Bonjour tout le monde, Au fait, j'ai deux scripts qui fonctionnent bien, la première : En choisi une image via un formulaire, puis en redimensionne l'image et finalement en enregistre avec un nouveau nom saisie par l'utilisateur. Le 2e script : En prend une partie d'une image. Ce que j'ai essayé de faire : Modifier le 2e scripte pour me permettre de : Choisir l'image via un formulaire Prendre la partie d'image Enregistrer l'image avec un nouveau nom saisi par l'utilisateur. J'ai essayé plusieurs fois pour mélanger les deux scripts, mais je ss tout le temps bloqué. Je suis à l'écoute de vos conseils Merci Voici mes scriptes //**************************************************************************************Premier script //****************************************index.php //****************************************upload.php <?php $nomImage=$_POST['video']; if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = 'upload'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie maintenant l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas une image"); } // on copie le fichier dans le dossier de destination $ext = substr($_FILES['fichier']['name'], strrpos($_FILES['fichier']['name'], '.')); $name_file = $nomImage.$ext; echo $name_file; //fonction pour changer les dimentions des fichiers function redimensionner($file, $maxwidth, $maxheight) { list($rawwidth, $rawheight, $type) = @getimagesize($file); if ($maxwidth < $rawwidth && $rawwidth >= $rawheight) { $width = $maxwidth; $height = ($width / $rawwidth) * $rawheight; } elseif ($maxheight < $rawheight && $rawheight >= $rawwidth) { $height = $maxheight; $width = ($height /$rawheight) * $rawwidth; } else { $height = $rawheight; $width = $rawwidth; } $imgbuffer = imagecreatetruecolor($width, $height); switch($type) { case 1: $image = imagecreatefromgif($file); break; case 2: $image = imagecreatefromjpeg($file); break; case 3: $image = imagecreatefrompng($file); break; case 4: $image = imagecreatefrombmp($file); break; default: exit("Tried to create thumbnail from $file: not a valid image"); } if (!$image) exit("Image creation from $file failed for an unknown reason. Probably not a valid image."); else { imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $width, $height, $rawwidth, $rawheight); imageinterlace($imgbuffer); switch($type) { case 1: $image = imagegif($imgbuffer, $file, 80); break; case 2: $image = imagejpeg($imgbuffer, $file, 80); break; case 3: $image = imagepng($imgbuffer, $file, 7); break; } } } if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) ) { exit("Nom de fichier non valide"); } else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier le fichier dans $content_dir"); } redimensionner($content_dir.$name_file,95, 95); } ?> //***************************************************************************************Deuxième scripte : Prendre une partie de l'image index.php <?php function CroppedThumbnail($imgSrc,$thumbnail_width,$thumbnail_height) { //$imgSrc is a FILE - Returns an image resource. //getting the image dimensions list($width_orig, $height_orig) = getimagesize($imgSrc); $myImage = imagecreatefrompng($imgSrc); $ratio_orig = $width_orig/$height_orig; if ($thumbnail_width/$thumbnail_height > $ratio_orig) { $new_height = $thumbnail_width/$ratio_orig; $new_width = $thumbnail_width; } else { $new_width = $thumbnail_height*$ratio_orig; $new_height = $thumbnail_height; } $x_mid = $new_width/2; //horizontal middle $y_mid = $new_height/2; //vertical middle $process = imagecreatetruecolor(round($new_width), round($new_height)); imagecopyresampled($process, $myImage, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig); $thumb = imagecreatetruecolor($thumbnail_width, $thumbnail_height); imagecopyresampled($thumb, $process, 0, 0, ($x_mid-($thumbnail_width/2)), ($y_mid-($thumbnail_height/2)), $thumbnail_width, $thumbnail_height, $thumbnail_width, $thumbnail_height); imagedestroy($process); imagedestroy($myImage); return $thumb; } //Create the thumbnail $newThumb = CroppedThumbnail("monImage.png",200,200); // And display the image... header('Content-type: image/jpeg'); imagejpeg($newThumb); ?> |
ybouane | 13/10/2010 à 02:38:55 |
Admin
|
Bonjour, Je ne suis pas sûr de comprendre ce que tu veux faire, mais essaye ce script: <?php
Il redimensionne l'image grâce à ce script:Thumbnail, Miniaturiser une image en php(thumbnail) Cordialement |
Pages: 1 |