jueves, 19 de febrero de 2009

Manual de PHP 50. Imágenes dinámicas

Imágenes dinámicas

PHP permite la creación dinámica de imágenes. Quiere esto decir que una imagen puede ser presentada en la página web sin necesidad de ser almacenada previamente en el servidor y, además, con un contenido que puede ser modificado en cada instante.

Esta posibilidad que ofrece PHP puede resultar muy útil a la hora de presentar gráficos estadísticos ya que permitiría utilizar valores actuales obtenidos, por ejemplo, de una base de datos.

Requisitos del sistema

El manejo de imágenes dinámicas requiere que esté instalada la librería de PHP llamada php_gd2.dll.

En la versión de PHP que estamos manejando se instala por defecto, pero requiere que la configuración de fichero php.ini tenga activada esta extensión.

Para activarla deberás editar el fichero php.ini, buscar la línea que dice: ;extensions=php_gd2.dll y quitar el punto y coma que lleva delante.

A esto se le llama en el argot descomentar esa línea. Las líneas de comentario en el fichero php.ini empiezan por ese signo de puntación.


Comprobación

Una vez que hayamos modificado php.ini –recuerda que debemos hacerlo con el servidor Apache apagado– activaremos de nuevo Apache y ejecutando info.php encontraremos algo similar a lo que ves en esta tabla:

GD
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Cuando esto ocurra nuestra configuración será la adecuada para utilizar las funciones PHP de este ámbito y estaremos en disposición de poder generar imágenes dinámicas.

Scripts para gráficos estadísticos

Si en algún momento tienes interés en insertar en tus páginas gráficos estadísticos, en esta dirección http://www.aditus.nu/jpgraph/index.php podrás encontrar una interesante colección de scripts listos para usar, con licencia gratuita para usos no comerciales.

Formatos GIF

Aunque son abundantes los materiales que aluden a este formato gráfico -incluso en las páginas oficiales PHP- los formatos GIF sólo funcionan en modo lectura.

Parece ser que existe un conflicto sobre los derechos de propiedad del algoritmo de compresión que se utiliza en los ficheros .gif y eso está obligando a los desarrolladores de PHP a abandonar este tipo de formato.

Formatos PNG

El formato de imágenes PNG (Portable Network Graphic) nos permite seguir disponiendo de un formato gráfico de difusión gratuita con una funcionalidad similar al GIF en lo que se refiere a transparencias y que junto con la posibilidad de usar también el formato JPG va a cubrir las necesidades gráficas de esta utilidad de PHP.


Formatos de imágenes

Pese a que info.php nos devuelve información sobre los tipos de imágenes soportados por la versión en uso de PHP, existe una función que permite determinar cuales de esos tipos son soportados por PHP.

imagetypes()

Devuelve un campo de bits correspondiente a los formatos soportados por la versión de GD que estamos utilizando.

Los formatos de imagen que PHP soporta actualmente son: GIF, JPG, PNG y WBMP.

En la parte derecha tienes el código fuente de un fichero que permite obtener información sobre los formatos soportados por tu versión de PHP.

El conocimiento de estas posibilidades gráficas puede sernos muy útil a la hora de elegir entre los diferentes formatos gráficos disponibles


Formatos soportados

<?
if (imagetypes() & IMG_GIF) {
echo "El tipo GIF es soportado<br>";
}else{
echo "El tipo GIF NO ES SOPORTADO<BR>";
}
if (imagetypes() & IMG_PNG) {
echo "El tipo PNG es soportado<br>";
}else{
echo "El tipo PNG NO ES SOPORTADO<BR>";
}
if (imagetypes() & IMG_JPG) {
echo "El tipo JPG es soportado<br>";
}else{
echo "El tipo JPG NO ES SOPORTADO<BR>";
}
if (imagetypes() & IMG_WBMP) {
echo "El tipo WBMP es soportado<br>";
}else{
echo "El tipo WBMP NO ES SOPORTADO<BR>";
}

?>





No hay comentarios: