Camembert 2d/3d

Soyez le premier à donner votre avis sur cette source.

Vue 15 053 fois - Téléchargée 1 089 fois

Description

Cette classe php permet de générer un camembert en 2D ou en 3D. L'image est au format PNG.
Ci-dessous un script qui utilise cette classe.

Source / Exemple :


<?php
# Camembert 2D/3D - 03/05/2008 - (C)2008 www.Software-DS.com
# Demo en ligne : http://www.software-ds.com/PHP/Camembert-2D-3D/demo-camembert.php

 require("camembert.php"); # on charge la classe camembert
  
 $camembert = new camembert(); # initialisation

 # on peut utiliser une requete SQL pour alimenter le tableau
 $camembert->add_tab( 37, "IE" );
 $camembert->add_tab( 25, "Firefox" );
 $camembert->add_tab( 5 , "Safari" );
 $camembert->add_tab( 1 , "Autres" );
 $camembert->add_tab( 10, "Mozilla" );
 $camembert->add_tab( 4 , "Bot" );
 $camembert->add_tab( 6 , "Google" );
 $camembert->add_tab( 8 , "iPhone" );
 $camembert->add_tab( 4 , "Opera" );

 $camembert->trier_tab(); # Facultatif, les donnees sont triees dans l'ordre decroissant
 # $camembert->affiche_tab(); # Debug
 
 # on genere l'image au format PNG
 $camembert->stat2png(3, 15); # 1er argument (2 ou 3 pour la 2D ou la 3D) - 2eme argument hauteur en pixel de l'effet 3D (mettre quelque chose meme pour la 2D)

?>

Conclusion :


Le script nécessite la librairie graphique GD.
Les sources sont commentées.
Une démo en ligne est disponible à l'adresse : http://www.software-ds.com/PHP/Camembert-2D-3D/demo-camembert.php

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
problème de headers!
Messages postés
14
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
3 septembre 2008

Bonjour,

quelqu'un peut il m'aider pour l'installation du script?

j'ai mit camembert.php et startCamembert.php à la racine de mon site et j'ai n'importe quoi quand j'appelle ma page
http://jeromei.phpnet.org/Copie de travail/startCamembert.php

voila ce que ça me met:

startCamembert.php?????????????????????????????????????????????TEXTR*ch????????????Þ??~ŸRÄB|??mBIN????????????????‚j#?????????????????????????????????????????L???L???2???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????H? Monaco?????????????????????????????,?¥‚a?,?¥‚a¿Ìøc??????????????L???L???2?€Ñ????2??MPSR??? íÿÿ?????âì??
Messages postés
147
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
14 novembre 2009

Salut,

Le temps mis pour empiler des camemberts 2D est fonction du nombre de ceux-ci; pour un camembert façon "pizza" comme celui de cet article, et qui est constitué de 15 couches, le temps ne doit pas être encore trop prohibitif, mais pour un camembert avec une vraie épaisseur de camembert, avec par exemple 30 ou 40 couches, il devient urgent de trouver une autre méthode (quitte à se farcir s'il le faut des sin et des cos!).

Une autre technique possible est développée dans la source d'adresse :
http://www.phpcs.com/codes/CAMEMBERTS-3D_34131.aspx
dont le temps d'exécution est indépendant de l'épaisseur du camembert.

A++
Messages postés
487
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
1 septembre 2011

Salut,
je me demande lequel est le plus gourmand en ressources? l'empilage de cercles 2D (donc identiques) ou le calcul à la volée de chaque portion de camembert?
Messages postés
11
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
7 mai 2008

En effet, le camembert est calculé une fois par jour avec les résultats de la veille qui sont fixe (donc il est inutile de de refaire les calculs à chaque fois).

Pour moi il y a 2 types de script, celui du back office qui n'a pas besoin d'être super optimisé vu qu'il sera exécuté 2-3 fois par jour par le webmaster dans la partie admin et les scripts du site web en acces libre qui sont exécuté des milliers de fois par jours par les visiteurs et les robots qui visitent le site. Pour moi mon source doit être intégré dans un back office.
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.