(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
) : bool
Dibuja un arco parcial con centro en las coordenadas especificadas en image.
imageUn recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
cxCoordenada x del centro.
cyCoordenada y del centro
widthEl ancho del arco.
heightEl alto del arco.
startEl ángulo de inicio del arco, en grados.
endEl á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.
colorUn identificador de color creado con imagecolorallocate().
styleUn OR a nivel de bit de las siguientes posibilidades:
IMG_ARC_PIEIMG_ARC_CHORDIMG_ARC_NOFILLIMG_ARC_EDGEDIMG_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: