Tutorial Librería GD en PHP

Tutorial Librería GD en PHP

Fecha: 29-Abr-2008 | Autor: .
Guardado en: Artículos, Tutoriales PHP

Este tutorial es la segunda parte del titulado Manejo de la librería GD básico, este tutorial es cortesía de Sargento, un experto en Librería GD y manejo de imágenes en PHP, así que si necesitan contratar a alguien en esta área no duden que con él estarán de maravilla ;)

Coordenadas de la Imagen
Las coordenadas dentro de una imagen siempre serán positivas y el pixel (0,0) corresponde a la esquina superior izquierda. En una imagen de 400 x 120 pixeles, el pixel de la esquina inferior derecha corresponde a las coordenadas (399, 119), sencillamente porque el primer pixel (esquina superior izquierda) no corresponde a las coordenadas (1,1) sino a (0,0).

Coordenadas PHP

Nota: No está de más mencionar que cuando nos referimos a alguna coordenada, el primer valor se refiere a la coordenada X (horizontal) y el segundo a la coordenada Y (vertical).

Paleta de Colores
Las herramientas de dibujo de GD nos piden, entre sus parámetros, algún color definido. En otras palabras, para dibujar un rectángulo, tendremos que definir las coordenadas del rectángulo así como su color.

Aún cuando trabajemos con imagenes indexadas, los colores los asignamos con los valores de R (rojo), G (verde) y B (azul), al igual que un color de 24 bits (8 bits por canal).


¿Por qué este anuncio?

La función para asignar colores es la siguiente:

imagecolorallocate( $imagen, R, G, B );

Lo más práctico es generar una paleta de los colores que vamos a utilizar para después irlos asignando cuando sea el caso, esto es:

$rojo = imagecolorallocate($imagen,255,0,0);
$verde = imagecolorallocate($imagen,0,255,0);
$azul = imagecolorallocate($imagen,0,0,255);
$negro = imagecolorallocate($imagen,0,0,0);
$blanco = imagecolorallocate($imagen,255,255,255);
$amarillo = imagecolorallocate($imagen,255,255,0);

La siguiente imagen muestra una paleta de colores y sus valores RGB correspondientes:

Colores PHP

Dibujando Puntos y Líneas
La función para dibujar un punto es muy sencilla, se requiere hacer referencia a la imagen creada, asignar las coordenadas X y Y y definir el color del punto. Esto es:

imagesetpixel( $imagen, x, y, $color );

La función para dibujar una línea es muy similar, pero requiere de las coordenadas de inicio de la línea y las coordenadas del final.

imageline( $imagen, x1, y1, x2, y2, $color );

La siguiente muestra la creación de un punto en las coordenadas (30,30) y una línea de coordenadas (30,80), (270,80):

Punto y línea en PHP

El código para generar la imagen anterior (sin los textos) es el siguiente:

<?php
 
header("Content-type: image/gif");
 
$imagen = imagecreate(300,100);
 
$bgcolor = imagecolorallocate($imagen,230,230,230);
$negro = imagecolorallocate($imagen,0,0,0);
 
imagesetpixel($imagen,30,30,$negro);
imageline($imagen,30,80,270,80,$negro);
 
imagegif($imagen);
 
imagedestroy($imagen);
 
?>

Si te gustó, comparte:
Y si fue de ayuda, puedes comprarme un café:
...ó la cena si quieres! ;)

Etiquetado como: ,


Gravatar

Marcelo


Desarrollador web, trabajando desde Montevideo, Uruguay para todo el mundo. Me especializo en Diseño web, Maquetación HTML5 & CSS3, jQuery y Programación PHP & MySQL, e intento aprender un poco más cada día.

1 comentario, anímate y deja otro tú!

  1. Unknown

    14. Oct, 2011

    Me sirvió mucho este tutorial, gracias por compartir.

Deja tu opinión