Tema: FAQ's de PHP
Ver Mensaje Individual
  #33 (permalink)  
Antiguo 12/12/2002, 17:03
Avatar de AngelRoyo
AngelRoyo
 
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 22 años
Puntos: 5
MODIFICAR IMAGENES (Educacional)


SECCION: IMAGEN
SCRIPT: CORTAR IMAGENES EN MASA


Objetivo: Script de tipo educacional para entender que manejar Imagenes en PHP es lo mismo que usar un editor como FireWork, la diferencia esta en que PHP es escrito.
- Quita Sección rectangular Inferior



Código PHP:
  /*
    CORTAR "$cutpx" DE UNA IMAGEN
    ANGEL ROYO 2002
   */

function tiempo(){

 list(
$ms,$s)=explode(" ",microtime());
 
$t=($ms $s);
 return 
$t/* Retorna el Tiempo en Segundos */

}/* Esta funcion se la agrege más nada para ver lo que se demora la PC */

function image_cut($src,$destino,$cutpx){

  
$size getimagesize($src);/* Propiedades de la imagen */
  
$im=imagecreatefromjpeg($src); /*Tomo la imagen origen */
$img=imagecreate($size[0],$size[1]-$cutpx);/*[0] ANCHO, [1] ALTO, me creo una CANVAS, algo similar que en Firework*/
  
imagecopyresized($img$im0000$size[0],$size[1]-$cutpx$size[0], $size[1]-$cutpx); /* Copio en mi CANVAS la imagen $im en la dimensión que deseo */
  
ImageJPEG($img,$destino,85); /*Exporto la CANVAS a JPG con 85% */
  
ImageDestroy($img); /* La Borro de la Cache */

/* El procedimiento es similar a usar un editor de imagenes */
}

 
$d=dir("empresa/"); /*Directorio con las imagenes de origen*/
 
$t0=tiempo();/* Opcional */
  
echo "Handle: ".$d->handle."<br/>\n";/* Opcional */
  
echo "Path: ".$d->path."<br/>\n";/* Opcional */

  
while($archivo=$d->read()) {/* Comienzo a leer la carpeta definida en dir */

          
if (eregi(".+.jpe?g$",$archivo)){
              
/* ES JPG o JPEG, por lo tanto aplicamos la funcion image_cut */

    
$img_fuente=$d->path.'/'.$archivo;
    
$img_destino='cortadas/'.$archivo;
 
image_cut($img_fuente,$img_destino,30); /*30 signifca 30 pixeles de corte, eso es lo que mide mas menos el rectangulo */

 
}

      echo 
$archivo."<br/>\n"/* Muestra el nombre de los archivos */

      
}

      
$d->close(); /* Cierro */  

      
$total=tiempo()-$t0;

      echo 
"<br/>EL PROCESO TARDO: $total (s)"
Pues ahi esta.
Se demoro aprox entre 80 y 90 s, en mi PC de 350 Mhz - 196 RAM.
173 Imagenes un total de 6.78 Megas inicial y 5.41 Megas final.
Me ahorre algunos Bytes :)
__________________
Hacerlo Bien Haciendo el Bien.
Jaso ezazu agur bero bat.
(c) 2002. Made in Chile.
Mi sistema es:
Win(98);Apache(1.3.x);PHP(4.1.1);mySQL(3.23.x)
!Califica este POSTEO¡