Hey, bienvenidos!
Mi nombre es Marcelo Ferreiro, y cree esta web para aprender php, compartiendolo con el mundo, mi idea es postear primero las lecciones más básicas y luego ir compartiendo todo lo que voy aprendiendo. Recursos, tutorials, y manuales de PHP. Espero que os sea tan útil como a mi.
Marcelo Ferreiro - Autor

Tutorial Librería GD en 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).

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);

?>

CC - 2008 - PHPnight - Sitemap
CMS: WordPress, theme by nEUtrOniCs, translated and modified by Marcelo Ferreiro.