(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagefilledarc — Dibuja un arco parcial y lo rellena
$image
,$center_x
,$center_y
,$width
,$height
,$start_angle
,$end_angle
,$color
,$style
Dibuja un arco parcial, centrado en las coordenadas especificadas en la imagen proporcionada.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
center_x
X: coordenada del centro.
center_y
Y: coordenada del centro.
width
El ancho del arco.
height
La altura del arco.
start_angle
El ángulo de inicio del arco, en grados.
end_angle
El ángulo de fin del arco, en grados. 0° se encuentra en la posición de las 3 en punto en un reloj, y el arco se dibuja en el sentido de las agujas del reloj.
color
Un identificador de color creato con imagecolorallocate().
style
Un campo de bytes, combinado con el operador OR:
IMG_ARC_PIE
y IMG_ARC_CHORD
son
mutuamente excluyentes; IMG_ARC_CHORD
solo conecta
los ángulos de inicio y fin con una línea recta, mientras que
IMG_ARC_PIE
produce una línea curva.
IMG_ARC_NOFILL
indica que el arco (o cuerda) debe ser
dibujado pero no rellenado. IMG_ARC_EDGED
, usado junto
con IMG_ARC_NOFILL
, indica que los ángulos de
inicio y fin deben ser conectados al centro. Esta función es recomendada
para crear gráficos de tipo pastel.
Versión | Descripción |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a valid gd resource was expected.
|
Ejemplo #1 Creación de un gráfico de pastel en 3D
<?php
// Creación de la imagen
$image = imagecreatetruecolor(100, 100);
// Asignación de algunas colores
$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
// Creación del efecto 3D
for ($i = 60; $i > 50; $i--) {
imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}
imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);
// Mostrar la imagen
header('Content-type: image/png');
imagepng($image);
?>
El resultado del ejemplo sería algo similar a: