function
resize_image($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;
}