Fork me on GitHub

Rapport de message :*
 

Re: Redimensionner des photos

Titre du sujet : Re: Redimensionner des photos
par RC78 sur 03/05/2009 13:02:23

Bonjour,
Afin de répondre à mon attente j'ai créé ceci , mais il me reste 2 choses à modifier mais là je sèche.

<?php
include("../../mainfile.php");
include(
XOOPS_ROOT_PATH."/header.php");
$xoopsOption['show_rblock'] = 1;
?>

<div align="center"><bgcolor="#800000">
<img border="0" src="imageresizer_banner.jpg" width="" height=""><br><br></div>

<div align= "center">
<form  enctype="multipart/form-data" action="index.php" method="post" name="news">
<input type="hidden" name="img" value="image">
<font face="Verdana" size="2">

   <table width="600" border="0" cellspacing="0" cellpadding="0">
   <tr>
       <td>
           <br/><strong>Utilitaire pour redimensionnée vos photos</strong><br/></strong>
      Poids maximum de la photo uploadées : 6 MO.<br/>
           Vous pouvez définir la largeur et la hauteur de l'image.<br/>
      Si seulement une Hauteur ou Largeur est renseignée l'image sera redimensionnée avec un calcul ratio.<br/><br/>
      </td>
   </tr>
   </table>    

<!-- Image -->
   <table width="450" border="0" cellspacing="0" cellpadding="0">
   <tr>
   <td>Image : 
   <input type="file" name="image" size="30"></td>
   </tr>
   </table>
<!-- end file Image -->

<!-- width xsize largeur de la photo -->
   <table width="450" border="0" cellspacing="0" cellpadding="0">
   <tr>
   <td>Largeur :
   <input name="xsize" type="text" size="4" maxlength="4" value="800" /> pixels.</td>
   </tr>
   </table>
<!-- end file width xsize largeur de la photo -->

<!-- height ysize hauteur de la photo -->
   <table width="450" border="0" cellspacing="0" cellpadding="0">
   <tr>
   <td>Hauteur :
   <input name="ysize" type="text" size="4" maxlength="4" value="600" /> pixels.</td>
   </tr>
   </table>
<!-- end file height ysize hauteur de la photo -->

<!-- start okay button table -->
   <table width="450" border="0" cellspacing="0" cellpadding="0">
   <tr>
   <td><input name="submitbutton" type="submit" value="Valider" /></td>
   </tr>
   </table>
<!-- end okay button table -->

</form>

<?php

if(isset($_POST['img'])) {

$xsize=$_POST['xsize'];
$ysize=$_POST['ysize'];
if (
$_FILES['image']['size']> 6291456)
{
echo 
"Your image should be smaller than 4 megabytes";
}
    if (!(
$_FILES['image']['type'] =="image/jpeg" OR $_FILES['image']['type']=="image/png" OR $_FILES['image']['type']=="image/gif"))
    {
    echo 
"Only jpeg, png and gif images are allowed.";
    }
    else
    {
$target_path "resizedimages/" basename$_FILES['image']['name']);

if(
move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) {
    echo 
"";
} else{
    echo 
"The image could not have been resized!";
}

    
    
$file      basename$_FILES['image']['name']);
    
$file_info getimagesize("resizedimages/" $file);

  
$width $file_info[0] ;
  
$height $file_info[1];

  echo 
"Origine de la photo: $file - largeur:  $width pixels - hauteur: $height pixels";

  
$new_widthround($xsize);
  
$new_heightround($ysize);


 
$filename="resizedimages/$file";
    if(
$_FILES['image']['type']=="image/jpeg"){ $img imagecreatefromjpeg($filename);}
    elseif(
$_FILES['image']['type']=="image/gif"){ $img imagecreatefromgif($filename);}
    elseif(
$_FILES['image']['type']=="image/png") { $img imagecreatefrompng($filename);}
       
     
$tmp_img imagecreatetruecolor$new_width$new_height );

      
// copy and resize old image into new image
      
imagecopyresized$tmp_img$img0000$new_width$new_height$width$height );
    


      
// save thumbnail into a file
      
imagejpeg$tmp_img"resizedimages/resized_$file);

echo 
"<br /><img src="resizedimages/resized_$file"><br />Dimension de la photo - Largeur : $new_width pixels - Hauteur $new_height pixels <br /> Pour sauvegarder : Clique droit sur la photo et Enregistrer Image Sous.";
    }

}
?>
<br />

</div></font>

<?php
include(XOOPS_ROOT_PATH."/footer.php");

?>


Il me faudrait que si une hauteur ou largeur manque que le ratio soit automatique.
J'ai essayer ceci mais cela donne une image avec des côtes bizarres


$new_heightround(($xsize/$width)*$height);
    
$new_widthround(($ysize/$height)*$width);



Et en deuxième je voudrais que les photos créés soient envoyé dans le dossier template afin de pouvoir le vider plus facilement.

@+ Titi
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

91 Personne(s) en ligne (79 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 91 | Plus ...