Вы можете сделать это с помощью GD (если у вас включен GD или GD2 в вашей установке PHP)
http://php.net/image
<?php
function resizeImage($image,$width=null,$height=null){
if(!$width and !$height) return false;
$info = getimagesize($image);
if(!$height) $height = $width/$info[0]*$info[1];
if(!$width) $width = $height/$info[1]*$info[0];
$new = newEmptyImage($width, $height);
$resource = imagecreatefromgif($image);
imagecopyresampled($new,$resource,0,0,0,0,$width,$height,$info[0],$info[1]);
return imagegif($new,$image);
}
function newEmptyImage($width,$height){
$new = imagecreatetruecolor($width,$height);
imagealphablending($new, false);
imagesavealpha($new, true);
$bg = imagecolorallocatealpha($new,0,0,0,127);
imagefill($new,0,0,$bg);
return $new;
}
?>
теперь вы можете просто позвонить resizeImage("example.gif",120);