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, $im, 0, 0, 0, 0, $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)";
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 :)