Scripts

Grafiek voor cirkels en lijnen

Het deel om een lijngrafiek te maken is gedeeltelijk van het script van Koen Bressers: http://phphulp.nl/php/scripts/9/427/ overgenomen en aangepast, de cirkelgrafiek is een variant daarop Je kunt op de pagina een grafiek weergeven door bij de lijngrafiek: x = Plaats lijn (op de x as) y = Plaats lijn (op de y as) Je kunt dit laten doen door een formulier (die je zelf kunt maken of kunt bekijken op Het script van Koen) de formule is Y = AX+B A is in dit geval X en B is Y Je kunt op de pagina een grafiek weergeven door bij cirkelgrafiek: m = Middelpunt (x;y) r = Straal (grootte cirkel) Je kunt dit laten doen door een formulier (die je zelf kunt maken of kunt bekijken op Het script van Koen) de formule is (X² - Xmiddel) + (Y² - Ymiddel) = R² Xmiddel en Ymiddel zijn de waarden van het middelpunt en R is de straal ps. je moet het lettertype arial in dezelfde map hebben staan

grafiek-voor-cirkels-en-lijnen
!!! Code voor de lijngrafiek (lijn.php) !!!
[code]
<?php
header("content-type: image/png");

$image 			= imagecreate(500, 500);
$achtergrond 	= imagecolorallocate($image, 255, 255, 255);
$zwart 			= imagecolorallocate($image, 0, 0, 0);
$wit 			= imagecolorallocate($image, 255, 255, 255);
$grijs 			= imagecolorallocate($image, 192, 192, 192);

$font = 'arial.ttf'; 

// verticale strepen
$teller_h = 0;
while($teller_h <= 40){
    if($teller_h < 40){
        $teller_h_pix = $teller_h * 12.5;
    } else {
        $teller_h_pix = ($teller_h * 12.5) - 1;
    }
    imageline($image, $teller_h_pix, 0, $teller_h_pix, 500, $grijs);
    $teller_h ++;
}

// horizontale strepen
$teller_v = 0;
while($teller_v <= 40){
    if($teller_v < 40){
        $teller_v_pix = $teller_v * 12.5;
    } else {
        $teller_v_pix = ($teller_v * 12.5) - 1;
    }
    imageline($image, 0, $teller_v_pix, 500, $teller_v_pix, $grijs);
    $teller_v ++;
}


// assenstrepen
imageline($image, 250, 0, 250, 500, $zwart);
imageline($image, 0, 250, 500, 250, $zwart);

// 0 tekst
$grootte = 7;
$gedraait = 0;
$tekst = 0;
imageTTFText($image, $grootte, $gedraait, 252, 248, $zwart, $font, $tekst); 
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, (245 - ((12.8)*$i * 5)), 248, $zwart, $font, ($tekst - $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, 252, (252 - ((12.5)*$i * 5)), $zwart, $font, ($tekst + $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, 252, (252 + ((12.6)*$i * 5)), $zwart, $font, ($tekst - $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, (248 + ((12.3)*$i * 5)), 248, $zwart, $font, ($tekst + $i * 5)); 
$i++;
}

// het startpunt op de y - as berekenen

$y = $_GET['y'];
$y_pix = 250 - ($y * 12.5);
$y_pix_0 = $y * 12.5;

$x = $_GET['x'];

$x_20 = $x * 20;
$x_pix = $x_20 * 12.5;
$x_pix_2 = 250 - $x_pix - $y_pix_0;

$x_min20 = $x * -20;
$x_minpix = $x_min20 * 12.5;
$x_minpix_2 = 250 - $x_minpix - $y_pix_0;

imageline($image, 250, $y_pix, 499, $x_pix_2, $zwart);
imageline($image, 250, $y_pix, 0, $x_minpix_2, $zwart);
imagepng($image);
imagedestroy($image);
?> 
[/code]

!!! Code voor de cirkelgrafiek (cirkel.php) !!!
[code]
<?php
header("content-type: image/png");

$image 			= imagecreate(500, 500);
$achtergrond 	                = imagecolorallocate($image, 255, 255, 255);
$zwart 			= imagecolorallocate($image, 0, 0, 0);
$wit 			= imagecolorallocate($image, 255, 255, 255);
$grijs 			= imagecolorallocate($image, 192, 192, 192);

$font = 'arial.ttf'; 

// verticale strepen
$teller_h = 0;
while($teller_h <= 40){
    if($teller_h < 40){
        $teller_h_pix = $teller_h * 12.5;
    } else {
        $teller_h_pix = ($teller_h * 12.5) - 1;
    }
    imageline($image, $teller_h_pix, 0, $teller_h_pix, 500, $grijs);
    $teller_h ++;
}

// horizontale strepen
$teller_v = 0;
while($teller_v <= 40){
    if($teller_v < 40){
        $teller_v_pix = $teller_v * 12.5;
    } else {
        $teller_v_pix = ($teller_v * 12.5) - 1;
    }
    imageline($image, 0, $teller_v_pix, 500, $teller_v_pix, $grijs);
    $teller_v ++;
}


// assenstrepen
imageline($image, 250, 0, 250, 500, $zwart);
imageline($image, 0, 250, 500, 250, $zwart);

// 0 tekst
$grootte = 7;
$gedraait = 0;
$tekst = 0;
imageTTFText($image, $grootte, $gedraait, 252, 248, $zwart, $font, $tekst); 
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, (245 - ((12.8)*$i * 5)), 248, $zwart, $font, ($tekst - $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, 252, (252 - ((12.5)*$i * 5)), $zwart, $font, ($tekst + $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, 252, (252 + ((12.6)*$i * 5)), $zwart, $font, ($tekst - $i * 5)); 
$i++;
}
$i=1;
while($i != 4)
{
imageTTFText($image, $grootte, $gedraait, (248 + ((12.3)*$i * 5)), 248, $zwart, $font, ($tekst + $i * 5)); 
$i++;
}

// het startpunt op de y - as berekenen
$middelpunt = $_GET['m'];
$middelpunt = explode(';',$middelpunt);
$x = $middelpunt[0] * 12.5 + 250;
$y = $middelpunt[1] * 12.5 + 250;
$straal = $_GET['r'];
$x_straal = 12.5 * $straal * 2;
$y_straal = 12.5 * $straal * 2;
imageellipse($image,  $x ,  $y ,  $x_straal ,  $y_straal , $zwart);
imagepng($image);
imagedestroy($image);
?> 
[/code]

Reacties

0
Nog geen reacties.