Imágenes y PHP – Biblioteca GD

En este tutorial aprenderemos a usar algunas funciones de la biblioteca GD, para el tratamiento y creación de imágenes en PHP.

Lo primero y fundamental es tener la biblioteca instalada y funcionando en nuestro servidor. Una vez esto esté confirmado podemos comenzar.

Lo primero de todo es crear una nueva imágen. Para esto usaremos la función imagecreatetruecolor, y la asociaremos a una variable.

$imagen = imagecreatetruecolor(300,200) // ancho x alto

Los dos parámetros que necesita la función son ancho y alto de la imágen.

Ahora que tenemos la imágen creada, vamos a pasar a rellenarla. Pero para ello tendremos que predefinir algunos colores.

$blanco = imagecolorallocate($imagen, 255,255,255); //Creamos y rellenamos de blanco
$negro = imagecolorallocate($imagen, 0, 0, 0);
$rojo = imagecolorallocate($imagen, 255, 0, 0);
$amarillo = imagecolorallocate($imagen, 255, 255, 0);
$azul = imagecolorallocate($imagen, 0, 0, 255);
$cian = imagecolorallocate($imagen, 0, 255, 255);

Con los colores creados, podemos empezar a dibujar formas en la imágen, usando las múltiples funciones habilitadas para ello.

Para crear rectángulos:

imagerectangle($imagen, 0, 0, 149, 39, $negro); //Se hace un rectángulo negro
imagerectangle($imagen, 10, 10, 139, 29, $rojo); //Otro rojo

Para rellenar de un color cual “bote de pintura”:

imagefill($imagen, 5, 5, $amarillo); //Se rellena el espacio en blanco de x,y (método de la semilla)

Escribir textos:

imagestring($imagen, 3, 6, 6, "Holaaaa", $azul); //Se escribe una cadena

Trazar líneas:

imageline($imagen, 75, 1, 30, 39, $cian);
imageline($imagen, 30, 39, 120, 39, $cian);
imageline($imagen, 120, 39, 75, 1, $cian);

Por último, cuando hemos acabado la imágen, la creamos en el formato que queramos (jpg, png, gif…). En este ejemplo hemos creado un png.

header(“Content-type: image/png”);
imagepng($imagen);
imagedestroy($imagen);

Mediante la función header hemos indicado que el contenido del documento será ima imagen. Este paso es muy importante.
Al usar imagepng, dado que no hemos rellenado el segundo parámetro (que sería la ruta donde queremos guardar el archivo), lo que hace es mostrar la imagen directamente en el documento.

Con el anterior código, lo único que faltaría sería una etiqueta HTML en cualquier web, que llamara a esta imagen (solo que tendrá la extensión PHP, pero el comportamiento es el mismo que un PNG)

<img src=”http://example.com/miimagen.php”>

Agradecimientos a Statu.

Deja un comentario