PHP:Modificar Imágenes (Educacional)
De Foros del Web
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
/* 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 función se la agregué 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)";
Pues ahí está.
Se demoró aprox entre 80 y 90 s, en mi PC de 350 Mhz - 196 RAM.
173 Imágenes un total de 6.78 Megas inicial y 5.41 Megas final.
Me ahorré algunos Bytes :)
--Angel Royo 12 Dic 2002
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
