lo script è questo:
codice:
function intelligentshrink($sourcefile, $destfile, $fw, $fh, $jpegquality = 80)
   {
       	
      
         
             	  
           list($ow, $oh, $from_type) = getimagesize($sourcefile);
	       	switch($from_type)
           {
               case 1: // GIF
                   $srcImage =  imagecreatefromgif($sourcefile);
                   break;
               case 2: // JPG
                   	$srcImage =imagecreatefromjpeg($sourcefile);  
                 	 break;
               case 3: // PNG
                   $srcImage = imagecreatefrompng($sourcefile);

                      break;
           }
           $tempw = $fw;
           $temph = number_format((($oh*$fw)/$ow), 0);
               
           if($temph < $fh)
           {
               $tempw = number_format((($ow*$fh)/$oh), 0);
               $temph = $fh;
           }
           
         $tempImage = imagecreatetruecolor($tempw, $temph);
                      
         	imagecopyresampled($tempImage, $srcImage, 0, 0, 0, 0, $tempw, $temph, $ow, $oh);
           
           // Calculate offsets
           if($temph > $fh)
           {
               $offsety = number_format(($temph/2)-($fh/2), 0);
               $offsetx = 0;
           }
           else
           {
               $offsety = 0;
               $offsetx = number_format(($tempw/2)-($fw/2), 0);
           }
           $destImage = imageCreateTrueColor($fw, $fh);
           
           imagecopyresampled($destImage, $tempImage, 0, 0, $offsetx, $offsety, $fw, $fh, $fw, $fh);
           
           imageJpeg($destImage, $destfile, $jpegquality);
       }
grazie.