Graph php courbe de charge

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 024 fois - Téléchargée 16 fois

Contenu du snippet

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 / Exemple :


<?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&value=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

A voir également

Ajouter un commentaire

Commentaires

yohann034
Messages postés
4
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
10 janvier 2012
-
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 ?
s.defaye
Messages postés
11
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 janvier 2012
-
Bonjour,

Le script génère une image. Vous pouvez par exemple mettre le script en attribut src d'une balise img.

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
yohann034
Messages postés
4
Date d'inscription
dimanche 28 novembre 2010
Statut
Membre
Dernière intervention
10 janvier 2012
-
j'y avais pas pensé, c'est bien vue, merci !

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.

Du même auteur (s.defaye)