Graph php courbe de charge

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

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)