imagefilledarc
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagefilledarc — Dibujar un arco parcial y rellenarlo
Descripción
$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.
Parámetros
-
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_PIEIMG_ARC_CHORDIMG_ARC_NOFILLIMG_ARC_EDGED
IMG_ARC_PIEyIMG_ARC_CHORDson mútuamente exclusivos;IMG_ARC_CHORDconecta los ángulos de inicio y de finalización con una línea recta, mientras queIMG_ARC_PIEproduce un borde redondeado.IMG_ARC_NOFILLindica que el arco o cuerda deberían estar perfilados, no rellenados.IMG_ARC_EDGED, usado junto conIMG_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'.
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Ejemplos
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:
Notas
Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).