Ecco il cod siete dei grandi
calcolate che $tnsize è impostato a 90 ora se l'immagine è più bassa tipo 70 mi da un riquadro nero di 20 sotto
$tnimage = imagecreatetruecolor($tnsize, $tnsize);
// allocate the background colour for the thumbnail
$darkblue = ImageColorAllocate($tnimage, 0, 0, 127);
// set the background as transparent
ImageColorTransparent($tnimage,$darkblue);
imagefilledrectangle($destImage, 0, 0, $destW, $destH, $bg);
// get the parameters of the big image
$sz = GetImageSize($image);
// load our internal variables
$x = $sz[0]; // big image width
$y = $sz[1]; // big image height
// find the larger dimension
if ($x>$y) { // if it is the width then
$dx = 0; // the left side of the new image
$w = $tnsize; // the width of the new image
$h = ($y / $x) * $tnsize; // the height of the new image
$dy = 0; // the top of the new image
}else{ // if the height is larger then
$dy = 0; // the top of the new image
$h = $tnsize; // the height of the new image
$w = ($x / $y) * $tnsize; // the width of the new image
$dx = ($tnsize - $w) / 2; // the left edgeof the new image
}
// copy the resized version into the thumbnal image
imagecopyresampled($tnimage, $bigimage, $dx, $dy, 0, 0, $w, $h, $x, $y);
// generate the PNG image
ImagePNG($tnimage);
// release the memory used by the thumbnail image
ImageDestroy($tnimage);
// release the memory used by the original big image
ImageDestroy($bigimage);
// all done!
Grazie