Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2012, 14:25
Avatar de rlc
rlc
 
Fecha de Ingreso: enero-2012
Mensajes: 20
Antigüedad: 12 años, 3 meses
Puntos: 0
Redimensionar imagenes

Hola amigos,
este es un tema bastante hablado ya pero no encuentro solucion a mi problema.
Utilizo una funcion para redimensionar las imagenes que el usuario sube a mi sitio de manera de dejarlas livianas y ajustadas al tamaño que utilizo : 640 x 480.
El sitio es www.autosanjuan.com.ar , el problema es que si el visitante sube una imagen por ejemplo widescreen, al aplicar la funcion y adaptarla a mi espacio se deforma, pueden ver el caso en este aviso : http://www.compraensanjuan.com/ficha.php?cod_pub=62760 , foto 1

Espero puedan ayudarme, la funcion que utilizo para redimensionar es :

function redimensiona($nombre,$anchura){
if ($anchura==640)
$hmax = 480;
if ($anchura==200)
$hmax = intval($anchura/1.333333333333333333);

$datos = getimagesize($nombre);
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
if($datos[2]==1) imagegif($thumb,$nombre);
if($datos[2]==2) imagejpeg($thumb,$nombre);
if($datos[2]==3) imagepng($thumb,$nombre);
imagedestroy($thumb);
}