Comunidad de diseño web y desarrollo en internet online

Optimizador de imagenes en php

Citar            
MensajeEscrito el 04 Ene 2008 01:05 pm
Buenas.

Estoy haciendo una web, en la que doy opcion a los usuarios a subir imagenes.
he visto por internet un optimizador de imagenes online y me pregunto de como se podria hacer.

en el siguiente enlace podeis ver un ejemplo

http://www.webtaller.com/utilidades/jpegcompress/crunchers.php

Espero vuestra respuesta!

Por bui3

71 de clabLevel



Genero:Masculino  

opera
Citar            
MensajeEscrito el 04 Ene 2008 02:33 pm
Eso puedes hacerlo con la funcion imagecopyresampled de php, debes tener GD2 activado en la configuracion de php para que funcione. :)

mira hice esta funcion y la ocupo siempre que tengo que dejar al usuario enviarme imagenes... porque no falta el que te envia una de 2600x2600 O.o

Código :

function escala_jpg ($imagen_enserver, $max, $nueva_direccion, $calidad){
         $imagen_real    =    imagecreatefromjpeg($imagen_enserver);
         $ancho_real      =    imagesx($imagen_real);
         $alto_real       =    imagesy($imagen_real);
         
         ### Meter dentro de un cuagro de x=y=$max
             # if ( $ancho_real >= $alto_real ){$escala=$max/$ancho_real;}
             # else {$escala=$max/$alto_real;}
         
      
         ### ANCHO MAXIMO x=max , y=escalado
             $escala=$max/$ancho_real;
         
         
         ### ALTO MAXINO y=max , x=escalado
             # $escala=$max/$alto_real;
             # 
         
         $ancho_nueva   =    $ancho_real*$escala;
         $alto_nueva      =    $alto_real*$escala;
         $imagen_nueva    =    imagecreatetruecolor($ancho_nueva,$alto_nueva);
         imagecopyresampled($imagen_nueva,$imagen_real,0,0,0,0,$ancho_nueva,$alto_nueva,$ancho_real,$alto_real);
         imagejpeg($imagen_nueva,$nueva_direccion,$calidad);
   }


PHP: La funcion ->
escala una imagen al tamaño maximo que desees
Copia la imagen escalada al directorio que desees
Deja la Imagen escala con la calidad JPG que desees [de 0 a 100]

para hacerla funcionar solo pones

Código :

escala_jpg ($_FILES['campo_de_imagen']['tmp_name'], 500, 'ruta/a/la/carpeta/de/destino/imagen.jpg', 100);

1- La funcion es solo para JPG
2- La funcion no borra el archivo de origen asi que conviene usar el archivo temporal del servidor que envio el usuario $_FILES['campo_de_imagen']['tmp_name'].
3- $max es el ANCHO maximo, ALTO maximo ó ANCHO o ALTO maxino de la imagen nueva creada segun tu elijas en la funcion.
[para desbloquearlo solo borra los # para descomentarlo y bloquea los que no uses].
4- La ruta de la nueva imagen debe ser relativa al archivo PHP desde donde uses la funcion.
5- $calidad es la calidad de jpg [para optimizarlo] 100 es la maxima calidad 0 (¿ó 1?) es la calidad mas baja, ahi ves tu segun necesites.


eso espero que te sirba :)

Por egoman

61 de clabLevel



Genero:Masculino  

Concepción - Chile!

firefox
Citar            
MensajeEscrito el 14 Ene 2008 07:43 am
Muy buen aporte...Gracias lo usare a ver ke tal! thanks!

Por bui3

71 de clabLevel



Genero:Masculino  

opera
Citar            
MensajeEscrito el 17 Ago 2009 04:31 pm
hola, una pregunta basica. Tengo el primer script de php en un archivo resize.php y por otra parte tengo el html en el mismo lugar.Donde se pone esta linea de codigo? en el html? entre head y head? perdon por la ignorancia.
gracias.

Por olmodeperas

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Ago 2009 04:31 pm
perdon esta linea de codigo a la que me refiero es:
"escala_jpg ($_FILES['campo_de_imagen']['tmp_name'], 500, 'ruta/a/la/carpeta/de/destino/imagen.jpg', 100);"

Por olmodeperas

4 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.