Ce code vous permet de générer dynamiquement un graphique Camembert en 2D.
Vous devez disposer de la librairie GD pour l'utiliser.
Problème commentaire : J'ai résolu le problème en remplaçant
'IMG_ARC_NOFILL IMG_ARC_EDGED'
par
IMG_ARC_PIE J'espère que ça pourra être utile à d'autres qui pourraient avoir le même problème.
Pour l'exemple j'ai utilisé 2 polices TTF : HypatiaSansPro (Fournis par Adobe), et Verdana (police inclus dans Windows).
Pensez a modifier les polices pour essayer ce code (lignes 81/82/83)
Cette fonction a beaucoup d'options, mais j'ai pu en oublié, je reste ouvert a toute proposition.
[25/06/2009] Correction : Le graphique ne pouvais etre generer si vous aviez choisis l'autoVal, et qu'une (ou plusieurs) de vos valeurs vallait moins de 0.1239 %. Pour resoudre le probléme, modifier la boucle autoVal (Voir mention EDIT dans le code).
Voici la description pour l'utilisation de ce code.
bool Camembert( array $value [, bool $autoVal [, bool $legend [, bool $legendVal [, string $title [, array $key [, int $width [, int $height [, int $marge_x [, int $marge_y [, int $width_legend ]]]]]]]]]] )
value:
array - Tableau des valeurs a grapher.
autoVal:
bool - Si autoVal vaut TRUE, les valeurs en pourcentage sont calculées automatiquement. Sinon la somme des valeurs de $value doivent etre egale a 100.
legend:
bool - Si legend vaut TRUE, les legendes seront affichée a droite du camembert. Sinon les legendes ne seront pas affichée.
legendVal:
bool - Si legendVal vaut TRUE, les valeurs en % apparaitront avec le texte de la legende.
title:
string - Si title est defini, celui-ci apparaitra au dessus de la legende.
key:
array - Tableau contenu le titre de valeur.
width:
int - Defini la largeur du camembert. Vaut 300 px par défaut.
height:
int - Defini la hauteur du camembert. Vaut 300 px par défaut.
marge_x:
int - Defini la marge a appliquer a gauche du camembert. Vaut 20 px par défaut.
marge_y:
int - Defini la marge a appliquer en haut du camembert. Vaut 20 px par défaut.
width_legend:
int - Defini la largeur du bandeau contenant la legende.
20 Mai 2009
Dernière mise à jour :
|
| Détail | php.net | Description |
Versions PHP |
|---|---|---|---|
| array |
Crée un tableau
|
PHP 4, 5, 7 et 8 | |
| count |
Compte tous les éléments d'un tableau ou dans un objet Countable
|
PHP 4, 5, 7 et 8 | |
| echo |
Affiche une chaîne de caractères
|
PHP 4, 5, 7 et 8 | |
| header |
Envoie un en-tête HTTP brut
|
PHP 4, 5, 7 et 8 | |
| imagecolorallocate |
Alloue une couleur pour une image
|
PHP 4, 5, 7 et 8 | |
| imagecopyresized |
Copie et redimensionne une partie d'une image
|
PHP 4, 5, 7 et 8 | |
| imagecreatetruecolor |
Crée une nouvelle image en couleurs vraies
|
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8) | |
| imagedestroy |
Détruit une image
|
PHP 4, 5, 7 et 8 | |
| imagefilledarc |
Dessine un arc partiel et le remplit
|
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8) | |
| imagefilledellipse |
Dessine une ellipse pleine
|
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8) | |
| imagefilledrectangle |
Dessine un rectangle rempli
|
PHP 4, 5, 7 et 8 | |
| imagepng |
Envoie une image PNG vers un navigateur ou un fichier
|
PHP 4, 5, 7 et 8 | |
| imagerectangle |
Dessine un rectangle
|
PHP 4, 5, 7 et 8 | |
| imagettfbbox |
Retourne le rectangle entourant un texte et dessiné avec une police TrueType
|
PHP 4, 5, 7 et 8 | |
| imagettftext |
Dessine un texte avec une police TrueType
|
PHP 4, 5, 7 et 8 | |
| realpath |
Retourne le chemin canonique absolu
|
PHP 4, 5, 7 et 8 | |
| return |
Retourne le controle du programme au module appelant
|
PHP 4, 5, 7 et 8 | |
| round |
Arrondit un nombre à virgule flottante
|
PHP 4, 5, 7 et 8 | |
| Langue | |
| Date | aujourd'hui |
| Taille | 41 Mo |
| Catégorie | Ecommerce |
| Langue | |
| Date | hier |
| Taille | 12 Mo |
| Catégorie | Ecommerce |
| Langue | |
| Date | hier |
| Taille | 11 Mo |
| Catégorie | CMS |
| Langue | |
| Date | hier |
| Taille | 18 Mo |
| Catégorie | CMS |
| Langue | |
| Date | 18 Mars 2026 |
| Taille | 1 Mo |
| Catégorie | CMS |
| Langue | |
| Date | 18 Mars 2026 |
| Taille | 0.41 Mo |
| Catégorie | Codes |
Invité
30 Aout 2010 à 23:28Merci pour cette page très utile ! Juste une suggestion : depuis quelques temps, imagefilledarc ne fonctionnait plus du tout, et je me retrouvais avec un camembert complètement noir. J'ai résolu le problème en remplaçant
'IMG_ARC_NOFILL IMG_ARC_EDGED'
par
IMG_ARC_PIE J'espère que ça pourra être utile à d'autres qui pourraient avoir le même problème.