php
function redimensiona($filename, $tmpname, $xmax, $ymax)
{
   $ext = explode(".", $filename);
   $ext = $ext[count($ext)-1];
   if($ext == "jpg" || $ext == "jpeg")
       $im = imagecreatefromjpeg($tmpname);
   elseif($ext == "png")
       $im = imagecreatefrompng($tmpname);
   elseif($ext == "gif")
       $im = imagecreatefromgif($tmpname);
   $x = imagesx($im);
   $y = imagesy($im);
   if($x <= $xmax && $y <= $ymax)
       return $im;
   if($x >= $y) {
       $newx = $xmax;
       $newy = $newx * $y / $x;
   }
   else {
       $newy = $ymax;
       $newx = $x / $y * $newy;
   }
   $im2 = imagecreatetruecolor($newx, $newy);
   imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
   return $im2;
}
Março 02, 2010