Te mando un ejemplo en el que puedes redimencionar el tamaño de una imagen segun una plantilla que debes crear con el tamaño que tu quieras,
Espero que te sea util.
<?php
//////////////////////////////
// * imagen a reducir src * //
//////////////////////////////
$nombreimagen = "firma.png";
$imgsrc = imagecreatefrompng($nombreimagen);
("196434.jpg");
// se obtienen las dimensiones de la imagen
$srcx = imagesx($imgsrc);
$srcy = imagesy($imgsrc);
/////////////////////////////////
// * plantilla en blanco trg * //
/////////////////////////////////
$x_size = 400;
$y_size = 150;
$imgtrg = imagecreate ( $x_size, $y_size);
$facx = $x_size / $srcx;
$facy = $y_size / $srcy ;
if($facx < $facy)
$facred=$facx;
else
$facred =$facy;
$resx = $srcx * $facred;
$resy = $srcy * $facred;
imagecopyresized($imgtrg, $imgsrc, 0, 0, 0, 0, $resx - 1, $resy - 1, $srcx - 1, $srcy - 1);
header("content-type: image/png");
imagepng($imgtrg);
imagedestroy($imgtrg);
imagedestroy($imgsrc);
?>
Saludos y suerte