Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/10/2012, 02:10
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 9 meses
Puntos: 33
Resize de fotos

Buenas!

Tengo un problema que no se cómo solucionar...

Resulta que en mi web, a veces hay imágenes muy grandes (los usuarios pueden subir imágenes), y estoy buscando cómo optimizarlas.

Lo que pretendo hacer es redimensionar las imágenes para que se adapten lo máximo posible al espacio reservado.

He encontrado la siguiente "función" que desde luego es útil:

Código PHP:
Ver original
  1. header("Content-type: image/jpg");
  2.  
  3. $w = $_GET['w'];
  4. $h = $_GET['h'];
  5. $imatge = $_GET['i'];
  6.  
  7. $im = null;
  8.  
  9. if(stripos($imatge, ".gif")) $im = imagecreatefromgif($imatge);
  10. if(stripos($imatge, ".jpg")) $im = imagecreatefromjpeg($imatge);
  11. if(stripos($imatge, ".png")) $im = imagecreatefrompng($imatge);
  12.  
  13. list($wi,$hi) = getimagesize($imatge);
  14.  
  15. $w_scale = $w/$wi;
  16. $h_scale = $h/$hi;
  17.  
  18. if($w_scale<$h_scale){
  19.     $w = $wi*$w_scale;
  20.     $h = $hi*$w_scale;
  21. }else{
  22.     $w = $wi*$h_scale;
  23.     $h = $hi*$h_scale;
  24. }
  25.  
  26. $thumb = imagecreatetruecolor($w,$h);
  27.  
  28. imagecopyresampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $wi, $hi);
  29. imagejpeg($thumb);

Pero el problema es que si la reducción es muy grande la imágen se ve fatal...

Y claro, una cosa es ganar tiempo de carga, y otra es hacerlo a costa de que la web pierda en calidad (se llegan a ver bastante pobres las imágenes muy reducidas).

Qué podría hacer?

Gracias