Ejemplo básico Librería GD

Apache es un servidor web que nos da algunas herramientas bastante interesantes encapsuladas en algo llamado módulos. Uno de estos módulos es la Librería GD encargada de proveer una serie de clases capaces de manipular imágenes y texto de una manera gráfica utilizando código php , pues php no solo sirve para la creación de documentos con una salida en HTML, sino también puede ser usado para generar imágenes

Antes de hacer un ejemplo bastante básico debemos estar seguros que se tiene instalado el módulo de GD, ya que aunque se tenga el apache sobre nuestro server se debe habilitar esta funcionalidad. Una forma de saber si la librería GD está instalada es ver que extensiones en php están cargadas. Sería ejecutando:

$s=get_loaded_extensions();
print_r($s); 

La salida al ejecutar ese script sería algo así:

Array ( [0] => zip [1] => xml [2] => tokenizer [3] => sybase [4] => standard [5] => session [6] => pcre [7] => overload [8] => mysql [9] => mcrypt [10] => gettext [11] => gd [12] => ftp [13] => domxml [14] => curl [15] => ctype [16] => calendar [17] => bcmath [18] => zlib [19] => openssl [20] => Zend Optimizer )

Si al imprimir en el array entontramos algo parecido a gd[ ] sin importar el número, eso confirma que la librería si está disponible. Por otro lado, en caso de que cuenten con un servidor dedicado o un VPS (virtual prívate server) pueden instalar este módulo de apache desde su cpanel o cualquier otro software de administración que tengan en su servidor. Si cuentan con servidor compartido pueden ingresar a la página http://www.libgd.org/ para que descarguen la librería por aparte y que la instalen por consola si es que tienen este servicio activado por su proveedor de hosting.

Para no entrar en mucho detalle y enfocarse mas en el código, en esta página pueden encotrar los requerimientos para la instalación y también las extensiones de imágenes soportadas para poder manipularlas.

Básicamente a partir de este ejemplo es posible irlo haciendo mas y mas grande según los requisitos que se tenga. El siguiente código ilustra como seria una forma de hacer una imagen PNG como un gráfico:

<?
header('Content-type: image/png');
$handle = imagecreate(100, 100);
$background = imagecolorallocate($handle, 255, 255, 255);
$red = imagecolorallocate($handle, 255, 0, 0);
$green = imagecolorallocate($handle, 0, 255, 0);
$blue = imagecolorallocate($handle, 0, 0, 255);
imagefilledarc($handle, 50, 50, 100, 50, 0, 90, $red, IMG_ARC_PIE);
imagefilledarc($handle, 50, 50, 100, 50, 90, 225 , $blue, IMG_ARC_PIE);
imagefilledarc($handle, 50, 50, 100, 50, 225, 360 , $green, IMG_ARC_PIE);
imagepng($handle);
?>

El siguiente ejemplo se puede visualizar aqui: crear-png.php

Leave a Reply