Por si algo, aquí te dejo un ejemplo de cómo la utilicé en una ocasión:
Código PHP:
include_once "simpleimage.class.php"; // Incluyo el archivo
$pos = strrpos($_FILES['userfile']['name'],"."); // Determinar la posición del punto (todo archivo se escribe nombre_archivo.extension)
$ext = substr($_FILES['userfile']['name'],$pos); // Extraer la cadena de texto que está después del punto (esa es la extensión de la imagen)
$ext = strtolower($ext); // Convertir las letras de la extensión en minúscula (para mantener un estándar y evitar inconvenientes con algunos sistemas operativos)
$uploaddir = 'mis_images/'; // Directorio donde voy a subir la imagen
$newfilename = basename($product_id). mt_rand() . $ext; // Renombro la imagen (en mi caso necesita hacerlo)
$uploadfile = $uploaddir . $newfilename; // Ruta completa y nombre
// Dentro del siguiente if subo la imagen al servidor, y esta función me retorna true o false dependiendo de si la imagen se subió correctamente o no
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
// Ahora si..... a utilizar las funciones de la clase SimpleImage del archivo simpleimages.class.php
$image = new SimpleImage(); // Creo un objeto de la clase.
$image->load($uploadfile); // Cargo la imagen que acabo de subir.
$width = $image->getWidth(); // Averiguo cual es el archo de la imagen.
$height = $image->getHeight(); // Averiguo cual es el alto de la imagen.
// A continuación escalo la imagen proporcionalmente al lado que es mas largo (tu puedes hacerlo como desees).
if ( $width > $height ) {
$image->resizeToWidth(128);
}
else {
$image->resizeToHeight(128);
}
$image->save($uploadfile); // Guardo la imagen (sobre escribo la imagen origina que subí inicialmente, por esta redimensionada)
}
Creo que asi es, lo acabo de adaptar de uno que tenia, pero este no lo he probado.
Saludos.