> Manuales > Biblioteca gráfica GD

Presentamos las funciones más relevantes que nos ofrece la biblioteca gráfica GD.

Pasemos a continuación a describir algunas de las funciones más comúnmente utilizadas comenzando por aquellas que no tienen un verdadero propósito grafico sino más bien "administrativo". Para obtener más información sobre estas u otras funciones gráficas pasaos, como no, por la página oficial de PHP.

Funciones de creación y almacenamiento en archivos
Función Descripción Sintaxis
imagecreate Crea una imagen de dimensiones dadas $im = imagecreate($x,$y)
imagecreatefromgif Crea una imagen que tiene como fondo un archivo GIF definido $im = imagecreatefromgif($archivo)
imagecreatefrompng Crea una imagen que tiene como fondo un archivo PNG definido $im = imagecreatefrompng($archivo)
imagecreatefromjpeg Crea una imagen que tiene como fondo un archivo JPEG definido $im = imagecreatefromjpeg($archivo)
imagegif Muestra la imagen creada en el navegador y la guarda como un archivo .gif si se especifica $im = imagegif($im[,$archivo])
imagepng Muestra la imagen creada en el navegador y la guarda como un archivo.png si se especifica $im = imagepng($im[,$archivo])
imagejpeg Muestra la imagen creada en el navegador y la guarda como un archivo.jpg si se especifica $im = imagejpeg($im[,$archivo])
imagedestroy Libera la memoria ocupada por la imagen Imagedestroy($im)

A notar que los archivos no tienen por qué ser almacenados como tales. Pueden ser directamente mostrados sin que para ello hayamos ocupado espacio en el disco duro. Para ello tan sólo hay que omitir la variable $nombre (entre corchetes).

Por otra parte, no todas las versiones de bibliotecas GD soportan todos los formatos. De hecho, es complicado hacerse con una misma versión que acepte las tres a la vez.

Funciones informativas
Función Descripción Sintaxis
getimagesize Genera un array con las ($arr) informaciones de la imagen: Anchura, altura, formato (1 = GIF, 2 = JPG, 3 = PNG), cadena "height=altura width=anchura" del codigo HTML $arr = getimagesize ($filename)
imagesx Devuelve la anchura de la imagen $im $ancho = imagesx($im)
imagesy Devuelve la altura de la imagen $im $alto= imagesy($im)
imagecolorstotal Devuelve el número total de colores empleados $total = imagecolorstotal($im)
imagettfbbox Nos da un array con las coordenadas de las esquinas de un cuadro imaginario que rodea nuestro texto de fuente tipo True Type $arr = imagettfbbox($talla, $angulo, $archivo_fuente, $texto)

Getimagesize puede resultar muy útil para scripts de tratamiento automático de imágenes. Por otro lado, imagettfbbox resulta ser muy práctico para el centrado y posicionamiento de textos al mismo tiempo que puede servirnos en botones dinámicos para definir el tamaño de la imagen en función del tamaño del texto que vayamos a introducir.

Funciones gráficas
Función Descripción Sintaxis
imagecolorallocate Define un color en escala RGB $rojo = imagecolorallocate ($im, 255, 0, 0)
imagecolorat Define el color a partir del color presente en un punto $x, $y $color = imagecolorat ($im, $x, $y)
imagecolortransparent Define un color $col de la paleta como transparente y le asigna un nuevo identificador $col_trans $col_trans = imagecolortransparent ($im, $col)
imagearc Traza un arco o elipse de centro $x, $y, de ejes horizontal y vertical de $h y $v respectivamente, ángulos inicial y final de $i y $f y color $col imagearc($im, $x, $y, $h , $v, $i, $f, $col)
imageline Traza una línea definida por dos puntos imageline($im, $x1, $y1, $x2, $y2)
imagepolygon Traza un polígono de $n puntos cuyas coordenadas son definidas por el array $coord imagepolygon($im, $coord., $n, $col)
imagefilledpolygon Dibuja un polígono coloreado de $n puntos definidos como coordenadas en el array $coord imagefilledpolygon($im, $coord., $n, $col)
imagerectangle Traza un rectángulo definido por las coordenadas de dos esquinas diagonales imagerectangle($im, $x1, $y1, $x2, $y2, $col)
imagefilledrectangle Dibuja un rectángulo coloreado definido por las coordenadas de dos esquinas diagonales imagefilledrectangle($im, $x1, $y1, $x2, $y2, $col)
imagesetpixel Dibuja un píxel de color $col imagesetpixel ($im, $x, $y, $col)
imagecopyresized Copia una superficie de una imagen origen $im_or y lo pega en una imagen destino $im_de. La imagen es tomada en forma de rectángulo de anchura $a y altura $h a partir de la esquina ($x, $y) y es pegada del mismo modo en su destino. Imagecopyresized($im_de, $im_or, $x_de, $y_de, $x_or, $y_or, $a_de, $h_de, $a_or, $h_or)
imagefill Colorea una superficie con color $col imagefill ($im, $x, $y, $col)
imagefilltoborder Colorea una superficie definida por un color $col1 con un color $col2 imagefilltoborder ($im, $x, $y, $col1, $col2)
imagestring Escribe un texto $texto con una fuente de tamaño $talla imagestring ($im, $talla, $x, $y, $texto, $col)
imagettftext Escribe un texto $texto de talla $talla con una fuente True Type cuyo nombre de archivo es $file con un ángulo $angulo imagettftext ($im, $talla, $angulo, $x, $y, $col, $file, $texto)

Como ya hemos dicho, esta lista no pretende ser exhaustiva sino más bien mostrar las posibilidades que esta biblioteca nos ofrece a la vez que nos sirve para tener las funciones más importantes resumidas al alcance de la mano.

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Manual