Reducir peso de imagenes con PHP

7 posts / 0 new
Último envío
Imagen de carlos alva
Offline
Joined: 10/08/2011
Reducir peso de imagenes con PHP

Para reducir el peso de las imagenes utilizaremos la galeria de GD de PHP la cual a traves de sus funciones pones hacer un copiado de la imagen original y sobreescribirla para reducirle el peso, este funciona muy bien siempre y cuando la imagen sea muy pesada.
Esto nos ayuda enormemente a recudir el ancho de banda asi como el tiempo de espera del usuario para visualizar las imagenes subidas.
Debemos tener en cuenta las funciones que nos permitiran poder ejecutar esta opercion
imagecreatefromjpeg("nombre de la imagen jpg")// crea una imagen a partir de una existente
imagesx(recurso) //calcula el ancho de la imagen
imagesy(recurso) //calcula el alto de la imagen
imagecreatetruecolor("ancho,"alto")// crea en lienzo donde se unira la imagen a crearse
imagecopyresized() se une el lienzo con la imagen creada al inicio para saber la exactitud de sus parametros dar clic aqui
imagejpeg(img de destinio,nombre de imagen a crearse)


<?php
$img_origen 
imagecreatefromjpeg'prueba.jpg' );
$ancho_origen imagesx$img_origen );//se ontiene el ancho de la imagen
$alto_origen imagesy$img_origen );//se obtiene el alto de la imagen
$ancho_limite=720;
if(
$ancho_origen>$alto_origen){// para foto horizontal
    
    
$ancho_origen=$ancho_limite;
    
$alto_origen=$ancho_limite*imagesy$img_origen )/imagesx$img_origen );
    
}else{
//para fotos verticales
    
$alto_origen=$ancho_limite;
    
$ancho_origen=$ancho_limite*imagesx$img_origen )/imagesy$img_origen );
}
$img_destino imagecreatetruecolor($ancho_origen ,$alto_origen );// se crea la imagen segun las dimensiones dadas
// copy/resize as usual
imagecopyresized$img_destino$img_origen0000$ancho_origen$alto_origenimagesx$img_origen ), imagesy$img_origen ) );
imagejpeg$img_destino'prueba.jpg' );//se guarda la nueva foto 
//imagedestroy( $img_origen );
//imagedestroy( $img_destino );
header ('Location:index.php');
?>

video(s): 
See video
AdjuntoTamaño
118-sitiotutoriales.zip56.59 KB
5
Average: 5 (1 vote)

Imagen de Melecio
Offline
Joined: 28/03/2012

Hola a todos soy nuevo en esta pagina que porcierto esta increible

pero me tope con esto si la imagen es horizontal como puedo hacer que la imagen una vez reducirla acerla que gire para que quede en modo vertical.

se los agradeceria a todos gracias.

Imagen de acamacho
Offline
Joined: 19/01/2012

Hola Carlos, antes de nada, enorabuena por este tutorial, es bastante bueno. He probado este script tal como explicas en el video y me crea las imagenes, pero me las crea completamente en negro. Te pongo el codigo que yo he usado para ver si me puedes echar una mano ya que llevo bastante tiempo con eso y no soy capaz de ver el fallo.

$img = $_FILES['file_foto']['name'];
$imagen = $_FILES['file_foto']['tmp_name'];

$path= "base/fotos/inmuebles/";
$ruta="3441451_5.jpg";

$img_origen = imagecreatefromjpeg($img);
$datos=getimagesize ($imagen);
$ancho_origen = $datos[0];
$alto_origen = $datos[1];
$ancho_limite = 550;

if ($ancho_origen>$alto_origen)
{
$ancho_origen=$ancho_limite;
$alto_origen=round($ancho_limite*$datos[1]/$datos[0]);
}
else
{
$alto_origen=$ancho_limite;
$ancho_origen=round($ancho_limite*$datos[0]/$datos[1]);
}

$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, $datos[0], $datos[1]);

imagejpeg($img_destino, $path.$ruta);

MUCHAS GRACIAS DE ANTEMANO!!

Imagen de carlos alva
Offline
Joined: 10/08/2011

gracias, eres libre de publicar tutoriales cuando gustes para ello debes tener los permisos de redactor asi que cuando tengas listo alguno me solicitas los permisos y te los doy para convertirte en radactor
saludos

Imagen de schdamian
Offline
Joined: 01/11/2011
5

Excelente! me vino de 10 el ejemplo, por lejos una de las mejores paginas, muy bueno el estilo y la forma de presentar el codigo incluso con videos, voy a andar seguido por aca, si puedo colaborar en algun tutorial avisame, puedo hacer tutoriales java, android, python si te interesa, un saludo.
Damián.

Imagen de carlos alva
Offline
Joined: 10/08/2011

Gracias jonathat por tus comentarios si deseas compartir tus conocimientos puedes publicar tutoriales asi todos aprendemos o sobre otros lenguajes de programacion .No olvides que para publicar un tutorial debes solicitarme ser un redactor ya que asi podras publicar tutoriales en la zona de tutoriales

Imagen de jonathan-ely
Offline
Joined: 21/08/2011

Felicidas x la pagina, jonathan.ely@hotmail.com

tengo conocimientos avanzados de php mysql y otros lenguajes, apunta mi email para compartir conocimientos

es la mejor magina q he visto de programacion...

jonathan.ely@hotmail.com

Inicie sesión para enviar comentarios