A manera de complemento: estoy usando una función que va muy bien. Te dejo el código, quizás ayude a una mejora:
Código PHP:
Ver original/*
Micro Image Manipulation Pack
©PhpToys 2006
http://www.phptoys.com
Released under the terms and conditions of the
GNU General Public License (http://gnu.org).
*/
function resizeImage($originalImage,$toWidth,$toHeight){
// Get the original geometry and calculate scales
$xscale=$width/$toWidth;
$yscale=$height/$toHeight;
// Recalculate new size with default ratio
if ($yscale>$xscale){
$new_width = round($width * (1/$yscale)); $new_height = round($height * (1/$yscale)); }
else {
$new_width = round($width * (1/$xscale)); $new_height = round($height * (1/$xscale)); }
// Resize the original image
imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
return $imageResized;
}
Aplicando la función:
Código PHP:
Ver original<?php
$myimg1 = resizeImage('test.jpg',120,120);
echo '<img src="result1.jpg" alt="miniatura" />';
?>