ARTICULOS

Imágenes y PHP - Biblioteca GD

Autor: Zumbe.net (http://zumbe.net/) - 22/03/2008
Esta obra está bajo una licencia de Creative Commons

Del.icio.us Facebook Technorati

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.

 

Más artículos sobre PHP

1. Webs dinámicos con PHP: Introducción
2. Generar documentos de Word
3. Consultas de selección aleatoria
4. Informe sobre el PhpNuke
5. Planificación de un proyecto modular
6. Forzar descarga de archivos
7. Codificar contraseñas con md5()
8. Enlace externo dinámico con frames
9. Verificar existencia de una URL
10. Contando visitantes activos con PHP
Más artículos...

Otros artículos...

AJAX Consulta de registros con AJAX
PHP Webs dinámicos con PHP: Introducción
Java Script Slide show de imágenes
HTML Eliminar menú Flash del botón derecho
ASP Agilizar la carga de tus páginas ASP
ASP.net Deshabilitar la expiración de la cache
ASP Contador gráfico en ASP
Varios Alojamiento gratuito y con dominio propio
Varios Tu sitio en otros navegadores
Hojas de Estilo Cambiar el cursor del Mouse
Más artículos...