Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2009, 04:00
yonolose
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 11 meses
Puntos: 7
Redimensionar proporcionalmente

Hola!

Tengo un script que redimensiona imágenes JPEG... lo he modificado, y he intentado hacer que redireccione a un ancho fijo y hacer el ancho solo (proporcionalmente).

Cuando el ancho es inferior al fijo (550px) funciona, pero cuando es mayor... Me pierdo

Este es el script:

Código PHP:
<?
$origen
="img/12"//Las imagenes son todas JPEG, pero con nombre numerico (id de imagen)

//Averiguar nuevo alto

$datosimg=getimagesize('img/12');

$ancho=$datosimg[0];

$alto=$datosimg[1];

if(
$ancho>550){

$difancho=550 $ancho;

}else{

$difancho=$ancho 550;

}

$nuevoalto=$alto $difancho;

$destino="img/12";
$destino_temporal=tempnam("tmp/","tmp");
redimensionar_jpeg($origen$destino_temporal550$nuevoalto100);



// guardamos la imagen
$fp=fopen($destino,"w");
fputs($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
fclose($fp);

// mostramos la imagen
echo "<img src='img/12'>";

function 
redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad)

    
// crear una imagen desde el original 
    
$img ImageCreateFromJPEG($img_original); 
    
// crear una imagen nueva 
    
$thumb imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura); 
    
// redimensiona la imagen original copiandola en la imagen 
    
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img)); 
     
// guardar la nueva imagen redimensionada donde indicia $img_nueva 
    
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    
ImageDestroy($img);
}
?>
¿Cómo puedo lograr tener el alto proporcional y ajustar el ancho a 550?

Saludos