PHP, junto con la librería GD, permiten la creación y manipulación de imágenes en tiempo real con gran facilidad y lograr unos resultados de una calidad más que aceptable.
Dependiendo de la versión de PHP y la librería GD, es posible crear y manipular imágenes de tipo JPEG, GIF, PNG y WBM, aunque en las últimas versiones no hay soporte para gráficos de tipo GIF. Para saber que formatos soporta tu instalación de PHP solo tienes que ejecutar el siguiente script:
';
if (imagetypes() & IMG_JPG) echo 'Formato JPG soportado.
';
if (imagetypes() & IMG_GIF) echo 'Formato GIF soportado.
';
if (imagetypes() & IMG_WBMP) echo 'Formato WBMP soportado.
';
?>
Al ser el más complejo (o al menos completo) de realizar, haremos una función para redimensionar y ajustar la calidad de imágenes JPEG. Crear una función similar para imágenes PNG o WBMP debería resultaros sencillo.
La función recibe 5 parámetros:
* Localización completa de la imagen original.
* ocalización completa de la nueva imagen, es decir, el "thumbnail" que vamos a crear.
* Calidad o compresión de la nueva imagen. Los valores posibles van de 0 (peor calidad, mayor compresión) a 95 (mejor calidad, menor compresión).
* Anchura de la nueva imagen en pixels.
* Altura de la nueva imagen en pixels.
A propósito de la calidad de las imágenes, debemos tener en cuenta que si la calidad de la imagen original era de por ejemplo el 75% y si especificamos que la calidad de la imagen redimensionada sea del 85%, la calidad de esta no mejorara, se mantendrá igual y solo conseguiremos incrementar el tamaño en bytes de la imagen. Por lo tanto, antes de aplicar esta función a una imagen debemos conocer su calidad actual.
Siguiendo con el mismo tema, los valores de calidad o compresión que se le puede aplicar a una imagen JPEG van del 0% al 95%. Lo lógico sería que fueran del 0% al 100%, pero por algún extraño motivo, la imagen resultante de una compresión del 97% es idéntica a la imagen comprimida al 95%.
A continuación puedes ver la función redimensionar_jpeg() y su aplicación:
Ahora no tienes más que aplicar la función a cada una de las imágenes que desees redimensionar. También existe la posibilidad de ampliar la funcionalidad del script y hacer que este redimensione todas las imágenes de un directorio concreto. Por ejemplo, ejecutar el siguiente script en un directorio redimensionaría todas las imágenes de tipo JPEG del mismo:
';
}
}
closedir($dir);
?>
El trozo de código añadido al script simplemente recorre todos los archivos del directorio en busca de imágenes de tipo JPEG y cada vez que encuentra uno, le aplica la función redimensionar_jpeg().
Cómo hacer thumbnails de tus fotografías con PHP
.
26 enero 2009












0 comentarios:
Publicar un comentario