Créer une vignette avec GD en se basant sur le type d'image - PHP Sources
Compatibilité : PHP 5, PHP 7
Créer une vignette sur la base du type d'image avec GD est simple en utilisant quelques fonctions clés que voici.
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.
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
array | Crée un tableau | PHP 4, PHP 5, PHP 7, PHP 8 | |
count | Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet | PHP 4, PHP 5, PHP 7, PHP 8 | |
echo | Affiche une chaîne de caractères | PHP 4, PHP 5, PHP 7, PHP 8 | |
header | Envoie un en-tête HTTP | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagecolorallocate | Alloue une couleur pour une image | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagecopyresized | Copie et redimensionne une partie d'une image | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagecreatetruecolor | Crée une nouvelle image en couleurs vraies - (PHP 4 >= 4.0.6, PHP 5, PHP 7) | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagedestroy | Détruit une image | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagefilledarc | Dessine une ellipse partielle et la remplit - (PHP 4 >= 4.0.6, PHP 5, PHP 7) | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagefilledellipse | Dessine une ellipse pleine - (PHP 4 >= 4.0.6, PHP 5, PHP 7) | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagefilledrectangle | Dessine un rectangle rempli | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagepng | Envoie une image PNG vers un navigateur ou un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagerectangle | Dessine un rectangle | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagettfbbox | Retourne le rectangle entourant un texte et dessiné avec une police TrueType | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagettftext | Dessine un texte avec une police TrueType | PHP 4, PHP 5, PHP 7, PHP 8 | |
realpath | Retourne le chemin canonique absolu | PHP 4, PHP 5, PHP 7, PHP 8 | |
return | Retourne le controle du programme au module appelant. | PHP 4, PHP 5, PHP 7, PHP 8 | |
round | Arrondi un nombre à virgule flottante | PHP 4, PHP 5, PHP 7, PHP 8 | |
Créer une vignette sur la base du type d'image avec GD est simple en utilisant quelques fonctions clés que voici.
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.