Foros del Web » Programando para Internet » PHP »

Reducir el tamaño de una imagen automaticamente

Estas en el tema de Reducir el tamaño de una imagen automaticamente en el foro de PHP en Foros del Web. Hola he creado un sitio Web, donde el usuario sube la informacion que consiste basicamente en texto e imagenes. Veo que esta subiendo imagenes muy ...
  #1 (permalink)  
Antiguo 28/06/2010, 16:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 11 meses
Puntos: 6
Reducir el tamaño de una imagen automaticamente

Hola he creado un sitio Web, donde el usuario sube la informacion que consiste basicamente en texto e imagenes. Veo que esta subiendo imagenes muy pesadas, he leido un poco en Google y entiendo que es posible reducir el tamaño de las imagenes automaticamente con PHP, aunque me parecio bastante complejo. Agradecería cualquier ayuda u orientacion que me pudieran dar.

Tomas.
  #2 (permalink)  
Antiguo 28/06/2010, 17:42
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Reducir el tamaño de una imagen automaticamente

Depende las librerías que uses. En general se usa GD. Creas un resource a partir de la imagen recién subida (usas, para eso, el elemento tmp_name del $_FILE en cuestión), con imagefromjpeg, imagefromgif, imagefrompng. Luego creas un nuevo resource del nuevo tamaño, usando imagecreatetruecolor, y copias del resource antiguo con el tamaño cambiado mediante imagecopyresampled. Si quieres que mantenga proporciones deberás hacer reglas de 3 y demás. Luego con imagejpeg, imagepng, imagegif guardas el resultado donde sería la carpeta de upload, y no hará falta mover el archivo subido originalmente.

Es una cosa bastante tediosa si se quiere hacer bien. Personalmente te recomiendo que busques alguna clase que te lo ponga fácil. Si mal no recuerdo, una clase llamada imageTransform en phpclases era muy buena.

Saludos.
__________________
eZakto™

Etiquetas: automaticamente, reducir, tamaño
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 14:06.