Una elipse es una sección cónica, una especie de huevo, y un caso particular de elipse es el círculo, por otra parte, un arco es una curva entre dos puntos (elipse no completa) El dibujo de elipses y arcos con GD, es muy parecido al dibujo de rectángulos, salvo que en lugar de indicar las esquinas del rectángulo, debemos indicar el centro , la altura, el ancho y en el caso de los arcos, el ángulo inicial y final. ArribaTabla de contenidoArribaDibujo de elipses y círculosUsando la función imageellipse o imagefilledellipse (para rellenarla de color), podemos generar una elipse de la siguiente manera:
000
|
imageellipse ($im, $cx, $cy, $an, $al, $col);
|
Donde cada variable pasada a la función significa:$im - Es el identificado de la imagen que hemos creado cómo se explica en este artículo $cx - Coordenada horizontal del centro de la elipse $cy - Coordenada vertical del centro de la elipse $an - Ancho de la elipse $al - Altura de la elipse $col - Es el color de la linea (o relleno) como se explica también en este artículo Veamos un ejemplo de cómo generar un caso particular de elipse, un círculo de 100 x 100 pixels (centrado en 50,50):
000 001 002 003 004 005 006 007 008 009 010 011 012
|
<?php $im = @imagecreate(101, 101) or die("Error creando la imagen"); $fondo = imagecolorallocate($im, 255, 255, 255); // blanco $linea = imagecolorallocate($im, 0, 0, 0); // negro // Dibujamos la elipse imageellipse($im, 50, 50, 100, 100, $linea); header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>
|
Y este será el resultado (que sería relleno de color negro de haber usado imagefilledellipse): ArribaDibujo de arcosPara dibujar un arco, usaremos la función imagearc o imagefilledarc, que tiene la misma sintaxis que la función anterior salvo que añade el ángulo inicial y el final:
000
|
imageellipse ($im, $cx, $cy, $an, $al, $in, $fi, $col);
|
Donde cada variable pasada a la función significa:$im - Es el identificado de la imagen que hemos creado cómo se explica en este artículo $cx - Coordenada horizontal del centro del arco $cy - Coordenada vertical del centro del arco $an - Ancho del arco $al - Altura del arco $in - Ángulo inicial del arco $fi - Ángulo final del arco $col - Es el color de la linea (o relleno) como se explica también en este artículo Veamos un ejemplo de cómo generar un arco:
000 001 002 003 004 005 006 007 008 009 010 011 012
|
<?php $im = @imagecreate(101, 101) or die("Error creando la imagen"); $fondo = imagecolorallocate($im, 255, 255, 255); // blanco $linea = imagecolorallocate($im, 0, 0, 0); // negro // Dibujamos el arco imagearc($im, 50, 50, 100, 100, 90, 180, $linea); header("Content-type: image/png"); imagepng($im); imagedestroy($im); ?>
|
Y este será el resultado (que sería relleno de color negro de haber usado imagefilledarc):
|