Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/07/2009, 23:56
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
Respuesta: problema redimencionador de imagenes

si me fije :P pero he tratado con numeritos en una hoja mayor menor etc....

y tengo entradas 1024*768 y 100*100 y 1000*50 y 50*1000 por decir algo ancho y alto respectivamente.....

caso 1 : (ancho_entrada >= 850) && (altoentrada >=450) = redimenciono.....
si pruebo con cada una de las 4 imagenes posibles es valido este if.....

caso 2 : (ancho_entrada <= 850) && (altoentrada <=450) = no redimenciono.....
si pruebo con cada una de las 4 imagenes posibles es valido este if.....

caso 3 : (ancho_entrada <= 850) && (altoentrada >=450) .... redimenciono

caso 4 : (ancho_entrada >= 850) && (altoentrada <=450) .... redimenciono

entonces mi script quedo

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

pero tengo una imagen de 704*396 y me la alarga de igual manera cosa que no deberia es un jpg :/ digo si le pongo
if (($datos[0] >= $hmax) && ($datos[1]) <= $anchura)
que no me redimencione entonces esa imagen me la deja ok, pero las de 1024*768 no la redimenciona, creo que debe ser que me falta el almuerzo X)....
si alguien se ilumina bienvenido....

gracias gatorv seguiré revisando
__________________
Gokuh Salvo al mundo. PUNTO!!!!