www.philatelistes.net - Dessiner un camembert avec PHP
Club Philatélique de Sarcelles et Environs
COLLECTIONNEURS NE RESTEZ PAS SEUL ! NOUS AVONS LA MEME PASSION

Notre association vous permet de partager avec d'autres ce loisir culturel et est a la disposition de tous (jeunes et adultes) débutants ou expérimentés. Amis philatélistes et collectionneurs de Sarcelles et de la Communauté Roissy Pays de France, de St Brice sous Foret et de la Communauté Plaine Vallée et des environs, ne restez plus isoles. Nos réunions sont gratuites et ouvertes a tous les collectionneurs - vous pourrez faire des échanges et des recherches: timbres, entiers postaux, télécartes, cartes postales...



En adhérant a notre association, nous vous proposons un certain nombre de services: consultation et prêt des catalogues, service des nouveautés, réduction importante sur l'achat de matériel, un tarif préférentiel club pour les abonnements aux revues philatéliques : Timbres Magazine, l'Echo de la Timbrologie, Atout Timbres... Notre association est affiliée à la Fédération Française des Associations Philatéliques (FFAP) et au Groupement des Associations Philatéliques de Paris - Ile de France (GAPHIL). Notre site internet http://clubphilateliquesarcellesetenvirons.com 
vous permettra de mieux connaitre nos activités, il présente également quelques souvenirs édités à l'occasion de telle ou telle manifestation. 

Nous éditons un bulletin ou chacun peut faire paraitre des annonces pour des recherches, des échanges. 

Nous organisons chaque année un Salon des Collectionneurs à Sarcelles à la Salle André Malraux le dernier samedi de janvier.



Réunions mensuelles au Club Honoré PONS Carrefour BULLIER

www.philatelistes.net

Rechercher Membres Contacts Aide
Modération off     Accueil | Actualité | Annonces | Forum | Philamômes | Histoire postale | Merson | Liens

Actualité
Actualité

Evénements

Revue de presse
Le forum
Les sondages

Vendre, Acheter, Echanger
Les adresses
Ventes sur offres ou à prix nets
Petites annonces

Dessiner un camembert avec PHP


Introduction
Astuces PHP et MySQL
Les images
Caractères ASCII
Couleurs du Web
Le e-mail
Aspects légaux
Javascript

Exemple

camembert

code PHP

pour télécharger, cliquez ici pour télécharger, cliquez ici

Code associé

<?php

// ------------------------------------------------------------------------- //
// Créer des stats visuelles sous forme de "camembert"                       //
// ------------------------------------------------------------------------- //
// Auteur: Fabrice Potec <fpotec@nerim.fr>                                   //
// Web:    http://www.djfab.net/                                             //
// ------------------------------------------------------------------------- //

/*
fonction qui crée un camembert (stats visuelles) suivant des valeurs entrantes.
Cette fonction est une adaptation d'une fonction trouvée dans un bouquin à ma 
sauce.
*/

// ================================================== //
// La librairie graphique php3_gd doit être installée.
// Sous windows ajoutez au début : dl("php3_gd.dll");
// ================================================== //

// dl("php3_gd.dll"); // uniquement sous windows (laissez en commentaire sinon)

/*
  Cette fonction permet de dessiner une portion de camembert
*/

function Portion($xc,$yc,$diametre,$epaisseur,$dep,$couleur,$image,$caption)
{
 
/* Définition de la couleur du fond (R,V,B) */ 
 
$bgcolor imagecolorallocate($image000);

 for( 
$i=$diametre $i>=$i-- )
    {
     
imagearc($image,$xc,$yc,$i,$i,$dep,$dep+$epaisseur,$couleur);
    }
    
 
$alpha = ($dep + ($epaisseur/2)) * ((2*M_PI)/360);

 
$cs    95 cos($alpha);
 
$sn    95 sin($alpha);
 
$xt    $xc $cs;
 
$yt    $yc $sn;

 
imagestring($image2$xt$yt$caption$bgcolor);
}


/*
  Cette fonction construit le camembert à partir du tableau des valeurs ($tb)
*/

function Camembert($tabval)
{
 
$img           imagecreate(230,200);

 
/* Définition de la couleur de la police (R,V,B) */
 
$fontcolor     imagecolorallocate($img255255255);

 
imagefill($img00$fontcolor);

 
$total 0;
 for( 
$i=$i<sizeof($tabval) ; $i++ )
    {
     
$total $total $tabval[$i];     
    }
 
$unite 360/$total;
 
$begin 190;

 for( 
$i=$i<sizeof($tabval) ; $i++ )
    {
     
/*
       Définition des couleurs des portions (ici 5 couleurs sont définies).
       Veillez à définir autant de couleurs que de valeurs entrantes dans "$tb".
     */ 
     
if( $i == )
         { 
$col1 "255";  $col2 "0"$col3 "0"; }  # rouge  (1e portion)
     
if( $i == )
         { 
$col1 "0"$col2 "0"$col3 "255";  }  # bleu   (2e portion)
     
if( $i == )
         { 
$col1 "255"$col2 "255"$col3 "0"; } # jaune  (3e portion)
     
if( $i == )
         { 
$col1 "0";  $col2 "255"$col3 "0"; }  # vert   (4e portion)
     
if( $i == )
         { 
$col1 "255"$col2 "0"$col3 "255"; } # violet (5e portion)
     
if( $i >= )
         { 
$col1 "0"$col2 "0"$col3 "0"; }     # noir   (au dela)
     
     
$coul      imagecolorallocate($img,$col1,$col2,$col3);
     
$part  $tabval[$i]*$unite;
     
portion(110100120$part$begin$coul$imgnumber_format($tabval[$i],1)." %");
     
$begin $begin $part;   
    }
    
  
$Camembert imageJpeg($img);
}

/* Le total des valeurs entrantes doit être égal à 100 pour ne pas fausser
   les stats */
$tb = array(5.3,14.9,19.2,40.1,20.5);

/* Appel de la fonction */
Camembert($tb);

?> 


Imprimer cette page  | Recommander cette page à un ami


Toussaint COPPOLANI
Toussaint COPPOLANI

Copyright © 2000 www.philatelistes.net
Credits, Critiques