(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagefilledarc — Dibujar un arco parcial y rellenarlo
$image
, int $cx
, int $cy
, int $width
, int $height
, int $start
, int $end
, int $color
, int $style
)
Dibuja un arco parcial con centro en las coordenadas especificadas en image
.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
cx
Coordenada x del centro.
cy
Coordenada y del centro
width
El ancho del arco.
height
El alto del arco.
start
El ángulo de inicio del arco, en grados.
end
El ángulo de finalización del arco, en grados. 0º esta localizado en la posición que marca la aguja horaria a las tres en punto, y el arco se dibuja en el sentido de las agujas del reloj.
color
Un identificador de color creado con imagecolorallocate().
style
Un OR a nivel de bit de las siguientes posibilidades:
IMG_ARC_PIE
IMG_ARC_CHORD
IMG_ARC_NOFILL
IMG_ARC_EDGED
IMG_ARC_PIE
y IMG_ARC_CHORD
son
mútuamente exclusivos; IMG_ARC_CHORD
conecta los ángulos de inicio y de finalización con una línea recta, mientras que
IMG_ARC_PIE
produce un borde redondeado.
IMG_ARC_NOFILL
indica que el arco
o cuerda deberían estar perfilados, no rellenados. IMG_ARC_EDGED
,
usado junto con IMG_ARC_NOFILL
, indica que los
ángulos de inicio y finalización deberían estar conectados con el centro - esta es una
buena manera de perfilar (en vez de rellenar) un 'trozo de tarta'.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Crear una gráfico de tarta en 3D
<?php
// crear imagen
$imagen = imagecreatetruecolor(100, 100);
// asignar algunos colores
$blanco = imagecolorallocate($imagen, 0xFF, 0xFF, 0xFF);
$gris = imagecolorallocate($imagen, 0xC0, 0xC0, 0xC0);
$gris_oscuro = imagecolorallocate($imagen, 0x90, 0x90, 0x90);
$azul_marino = imagecolorallocate($imagen, 0x00, 0x00, 0x80);
$azul_marino_oscuro = imagecolorallocate($imagen, 0x00, 0x00, 0x50);
$rojo = imagecolorallocate($imagen, 0xFF, 0x00, 0x00);
$rojo_oscuro = imagecolorallocate($imagen, 0x90, 0x00, 0x00);
// hacer el efecto 3D
for ($i = 60; $i > 50; $i--) {
imagefilledarc($imagen, 50, $i, 100, 50, 0, 45, $azul_marino_oscuro, IMG_ARC_PIE);
imagefilledarc($imagen, 50, $i, 100, 50, 45, 75 , $gris_oscuro, IMG_ARC_PIE);
imagefilledarc($imagen, 50, $i, 100, 50, 75, 360 , $rojo_oscuro, IMG_ARC_PIE);
}
imagefilledarc($imagen, 50, 50, 100, 50, 0, 45, $azul_marino, IMG_ARC_PIE);
imagefilledarc($imagen, 50, 50, 100, 50, 45, 75 , $gris, IMG_ARC_PIE);
imagefilledarc($imagen, 50, 50, 100, 50, 75, 360 , $rojo, IMG_ARC_PIE);
// volcar imagen
header('Content-type: image/png');
imagepng($imagen);
imagedestroy($imagen);
?>
El resultado del ejemplo sería algo similar a: