Foros del Web » Programando para Internet » PHP »

Como optimizar el peso de una imagen?

Estas en el tema de Como optimizar el peso de una imagen? en el foro de PHP en Foros del Web. Tengo una imagen de 640 x 480 px que pesa 1Mb Quisiera mantener el mismo tamaño 640 x 480 pero que el peso sea optimizado ...
  #1 (permalink)  
Antiguo 03/07/2009, 13:56
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 18 años, 11 meses
Puntos: 1
Como optimizar el peso de una imagen?

Tengo una imagen de 640 x 480 px que pesa 1Mb
Quisiera mantener el mismo tamaño 640 x 480 pero que el peso sea optimizado
al 30% de calidad.
He mirado en Thumbs pero todos redimencionan, aqui quiero cambiar la calidad.

Gracias
  #2 (permalink)  
Antiguo 03/07/2009, 14:20
Avatar de felipetibata  
Fecha de Ingreso: julio-2007
Ubicación: Bogotá
Mensajes: 86
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Como optimizar el peso de una imagen?

en que formato esta la imagen.....?
__________________
www.luisfelipetibata.com
  #3 (permalink)  
Antiguo 03/07/2009, 14:22
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Como optimizar el peso de una imagen?

Cita:
Iniciado por felipetibata Ver Mensaje
en que formato esta la imagen.....?
La imagen esta en formato .jpg
  #4 (permalink)  
Antiguo 03/07/2009, 14:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como optimizar el peso de una imagen?

Puedes usar las funciones imagecreatefromjpeg() y imagejpeg() para hacerlo:
Código php:
Ver original
  1. $imagen = imagecreatefromjpeg('imagen.jpg');
  2. imagejpeg($imagen, 'optimizado.jpg', 50);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 03/07/2009, 14:38
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Como optimizar el peso de una imagen?

Cita:
Iniciado por David Ver Mensaje
Puedes usar las funciones imagecreatefromjpeg() y imagejpeg() para hacerlo:
Código php:
Ver original
  1. $imagen = imagecreatefromjpeg('imagen.jpg');
  2. imagejpeg($imagen, 'optimizado.jpg', 50);
Y como lo incorporaria en este codigo?
Aqui realizo un cambio de tamaño.
pero no me lo optimiza.
se puede incorporar?
O debo de hacerlo en un segundo paso sobre los archivos de la carpeta destino $carpetanueva

Código PHP:
<?php
$carpeta 
"../prueba01/"// CARPETA DONDE SE ENCUENTRAN LOS ARCHIVOS
$carpetanueva "../prueba02/"// CARPETA DE DESTINO DE LOS ARCHIVOS 
$ext = array("jpg"); // EXTENSION DE LOS ARCHIVOS DE IMAGENES
$ancho_nuevo 640// ANCHO NUEVO DEL ARCHIVO
///////////////////////////////////////////////////////////
if(is_dir($carpeta) && $dir opendir($carpeta)){
while ((
$nombre_archivo readdir($dir)) !== false){

$archivo pathinfo($carpeta.$nombre_archivo);
if (
in_array(strtolower($archivo['extension']),$ext))
{
if(
strtolower($archivo['extension'])=="gif"){
$img imagecreatefromgif($carpeta.$nombre_archivo);
}else if(
strtolower($archivo['extension'])=="jpg"){
$img imagecreatefromjpeg($carpeta.$nombre_archivo);
}else if(
strtolower($archivo['extension'])=="png"){
$img imagecreatefrompng($carpeta.$nombre_archivo);
}
$ancho imagesx($img);
$altura imagesy($img);
$ancho_nuevo $ancho_nuevo;
$altura_nueva floor($altura*($ancho_nuevo/$ancho));
$tmp_img imagecreatetruecolor($ancho_nuevo,$altura_nueva);
imagecopyresized($tmp_img,$img,0,0,0,0,$ancho_nuevo,$altura_nueva,$ancho,$altura);
if(
strtolower($archivo['extension'])=="gif"){
imagegif$tmp_img,$carpetanueva.$nombre_archivo);
}else if(
strtolower($archivo['extension'])=="jpg"){
imagejpeg$tmp_img,$carpetanueva.$nombre_archivo);
}else if(
strtolower($archivo['extension'])=="png"){
imagepng$tmp_img,$carpetanueva.$nombre_archivo);
}
}
}
}
closedir($dir);
?>
  #6 (permalink)  
Antiguo 03/07/2009, 14:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como optimizar el peso de una imagen?

Si miras en tu código, estás usando la función imagejpeg(), sólo tienes que agregarle el tercer parámetro (quality) con la calidad en la cual deseas exportar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 03/07/2009, 15:29
Avatar de rec321  
Fecha de Ingreso: mayo-2005
Ubicación: Argentina
Mensajes: 91
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Como optimizar el peso de una imagen?

Cita:
Iniciado por David Ver Mensaje
Si miras en tu código, estás usando la función imagejpeg(), sólo tienes que agregarle el tercer parámetro (quality) con la calidad en la cual deseas exportar.
Gracias

Fue agregado y el resultado es optimo.

Código PHP:
imagejpeg$tmp_img,$carpetanueva.$nombre_archivo,60); 
Donde 60 es la optimizacion.
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 04:18.