Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/07/2009, 14:38
Avatar de rec321
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);
?>