begin process at 2012 05 27 21:44:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > GRAPH PHP COURBE DE CHARGE

GRAPH PHP COURBE DE CHARGE


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :graph, courbe, charge, png Niveau :Initié Date de création :04/01/2012 Date de mise à jour :05/01/2012 01:17:13 Vu :1 610

Auteur : s.defaye

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce script permet de générer une image representant une courbe de charge tracée suivant les valeurs transmises.
La largeur correspond en pixel au nombre de valeurs transmises +1
La hauteur est égale à la valeur height (dans l'URL) +1 pixel
Les couleurs :
   - color1 : couleur de la courbe
   - color2 : couleur intérieur de la courbe
   - color3 : couleur du cadre

Mon site : http://www.need-soft.com

Source

  • <?php
  • if (isset($_GET['height']))
  • $height = $_GET['height'];
  • else
  • $height = 45;
  • if (isset($_GET['color1']))
  • $color1 = $_GET['color1'];
  • else
  • $color1 = "209F0B";
  • if (isset($_GET['color2']))
  • $color2 = $_GET['color2'];
  • else
  • $color2 = "60D154";
  • if (isset($_GET['color3']))
  • $color3 = $_GET['color3'];
  • else
  • $color3 = "404040";
  • if (isset($_GET["value"]))
  • {
  • $value = $_GET["value"];
  • $addval=0;
  • $valuearray = explode(",", $value);
  • $width = count($valuearray);
  • $addval=max($valuearray);
  • $moyadd=floor($addval/$height);
  • for($i=0;$i<($width+1);$i++)
  • {
  • $newvalue=floor($valuearray[$i]/$moyadd);
  • $value2[$i] = $height-$newvalue;
  • }
  • }
  • $values[0] = 0;
  • $values[1] = $height;
  • for($i=0;$i<($width+1);$i++)
  • {
  • $values[$i*2+2] = $i;
  • $values[$i*2+3] = $value2[$i];
  • }
  • $values[(($width*2)+2)] = (($width*2)+1);
  • $values[(($width*2)+3)] = $height+1;
  • //);
  • $image = imagecreatetruecolor(($width+2), $height+1);
  • $rouge1 = hexdec(substr($color1,0,2));
  • $vert1 = hexdec(substr($color1,2,2));
  • $bleu1 = hexdec(substr($color1,4,2));
  • $rouge2 = hexdec(substr($color2,0,2));
  • $vert2 = hexdec(substr($color2,2,2));
  • $bleu2 = hexdec(substr($color2,4,2));
  • $rouge3 = hexdec(substr($color3,0,2));
  • $vert3 = hexdec(substr($color3,2,2));
  • $bleu3 = hexdec(substr($color3,4,2));
  • $line = imagecolorallocate($image, $rouge1, $vert1, $bleu1);
  • $bg = imagecolorallocate($image, $rouge2, $vert2, $bleu2);
  • $borderl = imagecolorallocate($image, $rouge3, $vert3, $bleu3);
  • imagefilledpolygon($image, $values, ($width+2), $bg);
  • imagepolygon($image, $values, ($width+2), $line);
  • imagerectangle($image, 0, 0, $width+1, $height, $borderl);
  • header('Content-type: image/png');
  • imagecolortransparent($image,0);
  • imagepng($image);
  • imagedestroy($image);
  • ?>
<?php

if (isset($_GET['height']))
	$height = $_GET['height'];
else
	$height = 45;
	
if (isset($_GET['color1']))
	$color1 = $_GET['color1'];
else
	$color1 = "209F0B";

if (isset($_GET['color2']))
	$color2 = $_GET['color2'];
else
	$color2 = "60D154";
	
if (isset($_GET['color3']))
	$color3 = $_GET['color3'];
else
	$color3 = "404040";
	
if (isset($_GET["value"]))
	{
	$value = $_GET["value"];

	$addval=0;
	$valuearray = explode(",", $value);
	$width = count($valuearray);
	$addval=max($valuearray);
		
		$moyadd=floor($addval/$height);
		for($i=0;$i<($width+1);$i++)
		{
			$newvalue=floor($valuearray[$i]/$moyadd);
			$value2[$i] = $height-$newvalue;
		}	
	}
$values[0] = 0;
$values[1] = $height;
for($i=0;$i<($width+1);$i++)
{ 
	$values[$i*2+2] = $i;
	$values[$i*2+3] = $value2[$i];
}
$values[(($width*2)+2)] = (($width*2)+1);
$values[(($width*2)+3)] = $height+1;


//);	


$image = imagecreatetruecolor(($width+2), $height+1);


$rouge1 = hexdec(substr($color1,0,2));
$vert1 = hexdec(substr($color1,2,2));
$bleu1 = hexdec(substr($color1,4,2));

$rouge2 = hexdec(substr($color2,0,2));
$vert2 = hexdec(substr($color2,2,2));
$bleu2 = hexdec(substr($color2,4,2));

$rouge3 = hexdec(substr($color3,0,2));
$vert3 = hexdec(substr($color3,2,2));
$bleu3 = hexdec(substr($color3,4,2));

$line   = imagecolorallocate($image, $rouge1, $vert1, $bleu1);
$bg = imagecolorallocate($image, $rouge2, $vert2, $bleu2);
$borderl = imagecolorallocate($image, $rouge3, $vert3, $bleu3);

imagefilledpolygon($image, $values, ($width+2), $bg);
imagepolygon($image, $values, ($width+2), $line);
imagerectangle($image, 0, 0, $width+1, $height, $borderl);

header('Content-type: image/png');
imagecolortransparent($image,0);
imagepng($image);
imagedestroy($image);

?>

 Conclusion

Voici un exemple d'URL : /graph.php?color1=404040&color2=ddd8ed&height=45&v alue=2642,2814,5817,2349,3020,2109,2499,2523,2420, 2843,2586,2353,2221,2126,2961,2467,2556,2488,2766, 2242,2129,2997,2104,2315,2324,2387,3044,2601,2681, 2711,2585,5213,2414,2292,2462,2324,2301,2861,2747, 2622,2594,2223,2875,2715,2249,2726,3082,2706,2104, 2738,2849,2133,2625,2853,2349,2849,2130,2282,2340, 2712,2894,2825,2825,2198,3018,2177,2422,2208,2939, 3070,2731,2422,2182,2495,3037,2332,2111,3009,2939, 2115,2637,2677,2148,2151,2420,2398,2901,2450,2580, 2130,3062,2364,2856,2777,2462,2763,2855,2784,2872, 2684,2744,2492,3006,2826,2888,2933,3059,2899,2831, 2887,2914,2358,2454,2963,2410,2774,2250,2200,2113, 2730,2231


 Historique

05 janvier 2012 01:14:19 :
toutes les variables en URL
05 janvier 2012 01:16:08 :
une couleur
05 janvier 2012 01:17:13 :
Mon site : http://www.need-soft.com

 Sources de la même categorie

Source avec Zip IMAGE ANIMÉE DANS UNE COLONNE DE DATAGRIDVIEW par foliv57
Source avec Zip Source avec une capture TRIEUR DE PHOTOS par Le Pivert
Source avec Zip ENREGISTREMENT ET DIAGRAMME par jpot31
REDIMENSIONNEMENT D'IMAGE PHP par JStevens
Source avec Zip Source avec une capture POIDS D'UNE IMAGE BMP DE PROFONDEUR 24 BITS par dheroux

 Sources en rapport avec celle ci

Source avec Zip REDIMENSIONNER UNE IMAGE PHP (GD VERSION 2 REQUISE) par CrazyShooter
Source avec Zip Source avec une capture STATISTIQUE GRAPHIQUE (COMPOSANT ARTICHOW) par crazygogo
Source avec Zip Source avec une capture YIFTITRE: INSÈRER DES TITRES CONTENTANT DES POLICES RARES par pysco68

Commentaires et avis

Commentaire de yohann034 le 10/01/2012 22:21:15

Bonjour,

juste une précision, ça ne marche pas dès qu'on met des balises <html> et </html> autour du code.

Comment puis-je l'intégrer à l'intérieure d'une page web ?

Est ce qu'on est obligé d'enregistrer l'image dans un dossier après création afin de l'afficher dans une autre page web ?

Commentaire de s.defaye le 11/01/2012 00:15:06

Bonjour,

Le script génère une image. Vous pouvez par exemple mettre le script en attribut src d'une balise img. <img id="i-graph" src="/graph.php?color1=404040&color2=ddd8ed&height=45&value=2642,2814.............et toutes les valeurs" alt="" border="0" />

L'actualisation de l'image dans une page peut se faire en javascript:

document.getElementById('i-graph').src = "/graph.php?color1=404040&color2=ddd8ed&height=45&value=2642,2814.............et toutes les valeurs"

Vous pouvez trouvez un exemple d'usage sur http://www.need-soft.com/index.php?option=com_content&view=article&id=70&Itemid=488&lang=fr

Commentaire de yohann034 le 11/01/2012 12:43:20

j'y avais pas pensé, c'est bien vue, merci !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pb jpgraph [ par nagrom_om ] Bonjour, J'ai toujours un petit probleme avec Jpgraph. J'utilise : $graph-&gt;Stroke("./graph/variable.png"); echo "&lt;img src='./graph/vari Problème de transparence PNG [ par spyro666 ] Voilà j'ai créer un script qui me place des points sur une carte, seulement la carte de   base est transparente et j'aimerais bien qu'elle le reste ma Erreur image png [ par euryn0me ] Bonjour, je débute en php alors je test un peu et j'ai un soucis pour la création d'images sur mon serveur free, j'utilise dreamweaver coté server don Besoin d'un script très simple pour afficher une image (ou un diaporama) et pas de fichier HTML en sortie [ par bisou580 ] Bonjour,Je suis très débutant en php parceque je ne sais rien, à part mettre un commentaire. :)Voila mon problème :Je cherche à faire un script qui fa graphe en temps réel ave php et mysql [ par prg11 ] Bonjoure  .je veut realiser une application web qui permet a un utilsateur de visualiser l'etat de sant system a traver des graphes en temp réelpour c rafraichissement d'une page chaque x seconde [ par prg11 ] <td id="HB_Focus_Element" valign= Probleme jpgraph/base de données [ par sabou94 ] Bonjour, En fait je dois générer un graph style diagramme de gantt donc un sorte de calendrier avec des barres representant des taches et leur durée ( CreateSimple en double? [ par sabou94 ] bonjour, voilà mon problème:J'utilise createSimple pour faire dans un diagramme un tableau de projets (donc plusieurs barres).Donc je fais quelque cho CSS] Mettre png en transparent avec Explorer [ par fdiedler2000 ] Salut all et oui c'est encore moi Donc en gros, je viens de me rendre compte que les png transparents ne sont aps pri probleme avec JPGraph [ par Menoly ] voila mon code : &lt;? include ("../../include/config.php");                                             //connexion à la base de donné


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,666 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales