Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/11/2002, 10:24
Avatar de AngelRoyo
AngelRoyo
 
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 22 años, 1 mes
Puntos: 5
Modificar Imagenes en Masa

Hola.

Esta es la historia: Mi "jefe" me ecomendo sakar de un cd "digital vision" imagenes para que ocupemos en las presentaciones para la empresa. Vaya que me he elejido 173 imagenes y las envie en una carpeta zipeada. La cosa es que cada imagen al final tiene un recatngulo negro que dice "Copyright Digital Vision", pues chanfle. ¿ Cómo le quito esa mierda de rectangulo? , se me vino a la mente el Firework y tendria que editar cada imagen y modificarla :-p . Pues mi "jefe" cree que así es así como las modificare, jejeje pero no sabe la menuda cosa que es PHP .

En mi carpeta pruebas tengo:
script: cut_img.php
carpeta: cortadas
carpeta: empresa

Este es el codigo:

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 :)

Pues ojala que no visite el Foro
Estate Callandito Cluster jejejeje.

Cortese, pegese, ojala le sirva a más de alguien.
Cualquier cosa el manual explicara mejor que yo cada funcion y objeto que he usado.

Saludos.
PD: Gracias por dejar el lado Oscuro (ASP).
__________________
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¡