Esta pagina te servira de mucho:
http://www.washeebo.com/sargento/phpgd/
hay muy buenos ejemplos del uso de GD
por mi parte me he creado una funcion que apartir de un jpg puedes crear una pequeña imagen de 128x128 o cualquier otra dimension.
no es la mejor, se puede mejorar mucho mas, para soportar varios formatos, pero me sirvio para lo que necesitaba en ese momento, puede ser un rapido ejemplo del uso de GD :)
Código PHP:
/**
* Funcion para redimensionar una imagen
*
* @parameter string image_file direccion con nombre a la imgen
* original
* @parameter string dest_file_name direccion con nombre a la imagen
* destino
* @parameter float width ancho de la imagen final
* @parameter float height alto de la imagen final
* @return void
*/
function resizeImg($image_file,$dest_file_name, $width = 128, $height=128){
// obtener las dimensiones de la imagen
$datos = getimagesize($image_file);
$w = $datos[0]; // original with
$h = $datos[1]; // original height
// crear una "copia" de la imagen original
$img2 = imagecreatefromjpeg($image_file);
// crear una imagen de "true color" de ancho width y alto height
$img1 = imagecreatetruecolor($width, $height);
// redimensionamos la imagen
imagecopyresized($img1, $img2, 0, 0, 0, 0, $width, $height, $w, $h);
// guardar la imagen
imagejpeg($img1, $dest_file_name);
// cerrar las imagenes
imagedestroy($img1);
imagedestroy($img2);
}