Esto es el script mio, para que te hagas una idea.
Código PHP:
<?php
// Variable que indica el archivo de la imagen
$Archi = $_GET['Imagen'];
$AnchoImagen=$_GET['AnchoImagen'];
$AltoImagen=$_GET['AltoImagen'];
$filename = $Archi;
// Pillar el tamaño
$datos = GetImageSize($filename) OR die("Imagen no válida");
$xp = $datos[0]/$AnchoImagen;
$yp = $datos[1]/$xp;
// Content-type para el navegador
header('Content-type: image/jpeg');
// Cargar la imagen
$thumb = imagecreatetruecolor($AnchoImagen, $yp);
$source = imagecreatefromjpeg($filename);
// Se obtienen las dimensiones
$width = imagesx($source);
$height = imagesy($source);
// Redimensionar
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $AnchoImagen, $yp, $width, $height);
// Mostrar la nueva imagen
imagepng($thumb);
?>
Y le hago la llamada de la siguiente manera:
Redimensiona.php?Imagen=nombreimagen&AnchoImagen=m edidaenpixels
Si te fijas solo le marco el Ancho de la imagen.
Ejemplo.
Si te fijas en la URL del ejemplo en
AnchoImagen= puedes poner el valor que quieras que no sale el cuadro negro.