Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2009, 01:09
Avatar de kaninox
kaninox
 
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
problema redimencionador de imagenes

holas gente, vamos al grano, tengo un redimencionador de imagenes en php, y funcionaba bien hasta que se me ocurrio ponerle una imagen mas pequeña y me la estira :/, les explico, por ejemplo tengo una

imagen 1 de 1024x768px y una
imagen 2 de 300x300px

entonces a este redimencionador le digo que el maximo sea de 500*500 y con la imagen 1 trabaja bien me la achica segun lo que necesita, pero con la 2 me la estira para lograr los 500x500 cuando no deberia hacer nada con esa imagen :/ entonces si pongo una imagen mas pequeña de 50x50 me la pixela demaciado lelvandola a 500x500 alguna solucion para que actue cuando la imagen es mayor de lo que se quiere redimencionar?

Código php:
Ver original
  1. <?php
  2. $anchura= $_GET['ancho'];
  3. $hmax= $_GET['alto'];
  4. $nombre=$_GET['archivo'];
  5. $datos = getimagesize($nombre);
  6. if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
  7. if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
  8. if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
  9. $ratio = ($datos[0] / $anchura);
  10. $altura = ($datos[1] / $ratio);
  11. if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
  12. $thumb = imagecreatetruecolor($anchura,$altura);
  13. imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
  14. if($datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
  15. if($datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
  16. if($datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
  17. imagedestroy($thumb);
  18. ?>

para redimencionar hago

Código HTML:
<img src="redimencionador.php?archivo=foto&alto=500&ancho=500"   border="0"  alt="Ver" title="Click para Ampliar"   /> 
__________________
Gokuh Salvo al mundo. PUNTO!!!!