Foros del Web » Programando para Internet » PHP »

Redimensionar imagenes sin perder la calidad

Estas en el tema de Redimensionar imagenes sin perder la calidad en el foro de PHP en Foros del Web. Hola amigos del foro tengo un sistema en php para cargar imagenes luego el programa las redimensiona usando el siguiente codigo: Código PHP: $ancho  =  ...
  #1 (permalink)  
Antiguo 09/08/2013, 12:37
 
Fecha de Ingreso: febrero-2013
Ubicación: Margarita
Mensajes: 72
Antigüedad: 11 años, 2 meses
Puntos: 0
Redimensionar imagenes sin perder la calidad

Hola amigos del foro tengo un sistema en php para cargar imagenes luego el programa las redimensiona usando el siguiente codigo:

Código PHP:

$ancho 
480;
  
$alto 480;
  
$info pathinfo($name);
  
$tamano getimagesize($t_name);
  
$width $tamano[0];
  
$height $tamano[1];
  
//instrucciones para manipular el ancho y alto de la imagen...


  
if ($info['extension']== "jpg" || "jpeg" || "JPG"){

       
$nuevaimagen imagecreatetruecolor($ancho,$alto);
       
$viejaimagen imagecreatefromjpeg($t_name);
       
imagecopyresized($nuevaimagen,$viejaimagen,0,0,0,0,$ancho,$alto,$width,$height);
       
$original =  "../Carousel/virgenes/";   // carpeta adonde van las imagenes
       
       
copy($t_name,$original);
      
imagejpeg($nuevaimagen,$original);
     } 

se redimensiona correctamente pero pierde calidad cuando la redimension es mayor
  #2 (permalink)  
Antiguo 09/08/2013, 14:53
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Redimensionar imagenes sin perder la calidad

Esta es la historia del punto gordo. Y me explico:

El punto geométrico no tiene dimensión, pero el del ojo humano sí la necesita: se estima (promedio humano) que podemos ver una masa como punto cuando su dimensión es de 0.25 mm visto a 25 cms. Si es más pequeño no la vemos y si es más grande diremos que es una masa (punto gordo)

Podemos hacer la correlación de distancias y tamaño del punto: un mural puesto a 25 metros el tamaño del punto ha de ser de 12,5 cms (ahora sí es un punto gordo visto de cerca pero no a 25 metros).

En informática, y web, las imágenes generalmente se dimensionan en píxeles por pulgada. Tu original siempre tiene la misma calidad. Puedes exponerlos en una calidad óptima o pésima. Si redimensionamos una imagen ($ancho = 480;$alto = 480;) no es porque lo tenga la imagen: sencillamente ajustará el punto para hace el "punto gordo", esto es, impreciso, desenfocado, o tal vez lo reduce y la definición de imagen es "mejor".

¿Que pasa si reducimos la dimensión?: que para nuestro ojo, los puntos colindantes se funden y veremos una definición supina (a menos que tratemos de líneas mínimas que no las llegaremos a ver).
¿Y si ampliamos la dimensión?: que los puntos serán masas y veremos la imagen borrrosa, sin definición (pérdida de acutancia) en los límites.

Cita:
Iniciado por claudinho
... se redimensiona correctamente pero pierde calidad cuando la redimension es mayor.
Es exactamente lo dicho sobre el punto gordo.

¿Solución?: que la imagen original sea igual o mayor al tamaño que queremos llevarla, definida en puntos por pulgada (no menos de 180 px/pulgada aunque las veamos "bien" con 72px/pulgada.

En pantalla de ordenador, comno en televisión, hemos de contar con la capacidad de resolución de nuestra pantalla. Y sujeta a mi teorema final.

¿Y si mi original es de menor tamaño?: los programas de edición de imagen te la pueden redimensionar a lo que les pidas pero aparecerá el efecto de pixelación (cuadraditos o borrosidad como cuando nos enturbian una cara policial que no se quiere mostrar). Existen programas que lo hacen mejor que otros (interpolaridad) pero el problema subsiste.

Teorema de redimensión de imagen: siempre mejor reducir que ampliar
Si reducimos la imagen será igual o mejor al original; si la ampliamos, siempre perdemos calidad, sea cual fuere el método de ampliación.

PD.: Por encima de 300 px/pulgada solo cargamos sobrepeso a la imagen y no mejoramos calidad.

Última edición por txemaarbulo; 09/08/2013 a las 15:00
  #3 (permalink)  
Antiguo 09/08/2013, 15:04
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Redimensionar imagenes sin perder la calidad

txemaarbulo :aplau so:
  #4 (permalink)  
Antiguo 09/08/2013, 20:06
 
Fecha de Ingreso: febrero-2013
Ubicación: Margarita
Mensajes: 72
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Redimensionar imagenes sin perder la calidad

Gracias por tu respuesta pero el problema aparece tambien al reducir el tamano es decir cuando quiero reducir a 180 px no se ve la misma calidad en las imagenes reducidas..
alguna idea??
  #5 (permalink)  
Antiguo 10/08/2013, 16:23
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Redimensionar imagenes sin perder la calidad

Cita:
Iniciado por claudinho Ver Mensaje
Gracias por tu respuesta pero el problema aparece tambien al reducir el tamano es decir cuando quiero reducir a 180 px no se ve la misma calidad en las imagenes reducidas..
alguna idea??
Sería importante que examines tu imagen original y la "redimensiones" a su tamaño (en píxeles), para ver si hay cambio de calidad.

En principio, la transformación no debería afectar a la calidad, más allá de lo ya explicado.
  #6 (permalink)  
Antiguo 10/08/2013, 17:56
 
Fecha de Ingreso: febrero-2013
Ubicación: Margarita
Mensajes: 72
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Redimensionar imagenes sin perder la calidad

si hay una evidente desmejora en la calidad de la imagen reducida.... no entiendo por que??
  #7 (permalink)  
Antiguo 10/08/2013, 21:47
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: Redimensionar imagenes sin perder la calidad

buenas...

pues fuera del tema pero puede esta ligado...

puede ser que la libreria GD este dañada o corrupta, a mi me sucedio algo similar con fotos y re-instale el apache y sus librerias y asunto resuelto...

es un tema que pudieras checar... saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!

Etiquetas: calidad, imagenes, redimensionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:03.