(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagefilledarc — Dessine un arc partiel et le remplit
$image
, int $cx
, int $cy
, int $width
, int $height
, int $start
, int $end
, int $color
, int $style
) : boolDessine un arc partiel, centré aux coordonnées spécifiées dans l'image fournie.
imageUne ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
cxX : coordonnée du centre.
cyY : coordonnée du centre.
widthLa largeur de l'arc.
heightLa hauteur de l'arc.
startL'angle de début de l'arc, en degrés.
endL'angle de fin de l'arc, en degrés. 0° est situé à une position de 3 heures sur un cadran horaire, et l'arc est dessiné dans le sens des aiguilles d'une montre.
colorUn identificateur de couleur créé avec imagecolorallocate().
styleUn champ d'octets, combiné avec l'opérateur OR :
IMG_ARC_PIEIMG_ARC_CHORDIMG_ARC_NOFILLIMG_ARC_EDGEDIMG_ARC_PIE et IMG_ARC_CHORD sont
mutuellement exclusives; IMG_ARC_CHORD ne fait que
connecter les angles de début et de fin avec une ligne droite, tandis
que IMG_ARC_PIE produit une ligne courbe.
IMG_ARC_NOFILL indique que l'arc (ou corde) doit être
dessiné mais pas rempli. IMG_ARC_EDGED, utilisé conjointement
avec IMG_ARC_NOFILL, indique que les angles de
début et de fin doivent être connectés au centre. Cette fonction est
recommandée pour faire les graphiques de type camembert.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Exemple #1 Création d'un camembert en 3D
<?php
// Création de l'image
$image = imagecreatetruecolor(100, 100);
// Allocation de quelques couleurs
$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);
// Création de l'effet 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);
// Affichage de l'image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :