Grafieken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
$image = ImageCreate(750, 300);
$achtergrond = ImageColorAllocate($image, 255, 255, 255);
$kleur = ImageColorAllocate($image, 255, 0, 0);
$x1 = 0;
$y1 = 0;
$x2 = 25;
$y2 = 25;
// 1e punt zelfde als boven
$x1b = 25;
$y1b = 25;
// x + 25 en y mag veranderen naar keuze
$x2b = 75;
$y2b = 25;
// 1e punt zelfde als boven
$x1c = 75;
$y1c = 25;
// x + 25 en y mag veranderen naar keuze
$x2c = 150;
$y2c = 50;
//De uitleg van image line volgt hieronder
ImageLine($image, $x1, $y1, $x2, $y2, $kleur);
ImageLine($image, $x1b, $y1b, $x2b, $y2b, $kleur);
ImageLine($image, $x1c, $y1c, $x2c, $y2c, $kleur);
ImageLine($image, $x1d, $y1d, $x2d, $y2d, $kleur);
ImageLine($image, $x1e, $y1e, $x2e, $y2e, $kleur);
ImageLine($image, $x1f, $y1f, $x2f, $y2f, $kleur);
ImageLine($image, $x1g, $y1g, $x2g, $y2g, $kleur);
ImageLine($image, $x1h, $y1h, $x2h, $y2h, $kleur);
ImageLine($image, $x1i, $y1i, $x2i, $y2i, $kleur);
ImageLine($image, $x1j, $y1j, $x2j, $y2j, $kleur);
ImageLine($image, $x1k, $y1k, $x2k, $y2k, $kleur);
ImageLine($image, $x1l, $y1l, $x2l, $y2l, $kleur);
ImageLine($image, $x1m, $y1m, $x2m, $ym, $kleur);
ImageLine($image, $x1n, $y1n, $x2n, $y2n, $kleur);
ImageLine($image, $x1o, $y1o, $x2o, $y2o, $kleur);
ImagePNG($image);
ImageDestroy($image);
?>
$image = ImageCreate(750, 300);
$achtergrond = ImageColorAllocate($image, 255, 255, 255);
$kleur = ImageColorAllocate($image, 255, 0, 0);
$x1 = 0;
$y1 = 0;
$x2 = 25;
$y2 = 25;
// 1e punt zelfde als boven
$x1b = 25;
$y1b = 25;
// x + 25 en y mag veranderen naar keuze
$x2b = 75;
$y2b = 25;
// 1e punt zelfde als boven
$x1c = 75;
$y1c = 25;
// x + 25 en y mag veranderen naar keuze
$x2c = 150;
$y2c = 50;
//De uitleg van image line volgt hieronder
ImageLine($image, $x1, $y1, $x2, $y2, $kleur);
ImageLine($image, $x1b, $y1b, $x2b, $y2b, $kleur);
ImageLine($image, $x1c, $y1c, $x2c, $y2c, $kleur);
ImageLine($image, $x1d, $y1d, $x2d, $y2d, $kleur);
ImageLine($image, $x1e, $y1e, $x2e, $y2e, $kleur);
ImageLine($image, $x1f, $y1f, $x2f, $y2f, $kleur);
ImageLine($image, $x1g, $y1g, $x2g, $y2g, $kleur);
ImageLine($image, $x1h, $y1h, $x2h, $y2h, $kleur);
ImageLine($image, $x1i, $y1i, $x2i, $y2i, $kleur);
ImageLine($image, $x1j, $y1j, $x2j, $y2j, $kleur);
ImageLine($image, $x1k, $y1k, $x2k, $y2k, $kleur);
ImageLine($image, $x1l, $y1l, $x2l, $y2l, $kleur);
ImageLine($image, $x1m, $y1m, $x2m, $ym, $kleur);
ImageLine($image, $x1n, $y1n, $x2n, $y2n, $kleur);
ImageLine($image, $x1o, $y1o, $x2o, $y2o, $kleur);
ImagePNG($image);
ImageDestroy($image);
?>
Ik heb deze code voor het maken van een grafiek... nu wil ik er een while structuur in maken om de grafiek vanuit een database te genereren, maar dit kan niet. Krijg bij alle extra phpcode een kruis in het scherm iemand enig idee hoe ik dit kan oplossen?
Alvast bedankt...
Als je de x-as en y-as van een punt weet kun je dat in de grafiek veranderen.
edit:
ik gebruik zelf het volgende scriptje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if(ctype_digit($_GET['id']) AND $_GET['id'] < 4 AND $_GET['id'] >= 0)
{
$graphValues=array(15,15,50,75,100,245,50,0); // de punten van de grafiek
$imgWidth=280; // breedte van de grafiek (komt 1 bij, best altijd met 15*x vermeerderen!)
$imgHeight=195; // hoogte van de grafiek (komt 15 bij, ook best atlijd met 15*y vermeerderen!)
header("Content-type: image/png");
$image=imagecreate($imgWidth+1, $imgHeight+15);
$colorWhite = imagecolorallocate($image, 255, 255, 255); // achtergrond
$colorGrey = imagecolorallocate($image, 192, 192, 192); // kleur van het rooster op de achtergrond
$colorBlue = imagecolorallocate($image, 0, 0, 255); // kleur van de lijn
for ($i = 1; $i < 16; $i++){
// horizontale lijnen
imageline ($image, 0, $i*15, $imgWidth+15, $i*15, $colorGrey);
}
// lijn op grafiek tekenen
for ($i = 0; $i < (count($graphValues)-1); $i++)
imageline ($image, ($i*40), ($imgHeight-$graphValues[$i]), (($i+1)*40), ($imgHeight-$graphValues[$i+1]), $colorBlue);
imagepng ($image);
imagedestroy ($image);
}
?>
if(ctype_digit($_GET['id']) AND $_GET['id'] < 4 AND $_GET['id'] >= 0)
{
$graphValues=array(15,15,50,75,100,245,50,0); // de punten van de grafiek
$imgWidth=280; // breedte van de grafiek (komt 1 bij, best altijd met 15*x vermeerderen!)
$imgHeight=195; // hoogte van de grafiek (komt 15 bij, ook best atlijd met 15*y vermeerderen!)
header("Content-type: image/png");
$image=imagecreate($imgWidth+1, $imgHeight+15);
$colorWhite = imagecolorallocate($image, 255, 255, 255); // achtergrond
$colorGrey = imagecolorallocate($image, 192, 192, 192); // kleur van het rooster op de achtergrond
$colorBlue = imagecolorallocate($image, 0, 0, 255); // kleur van de lijn
for ($i = 1; $i < 16; $i++){
// horizontale lijnen
imageline ($image, 0, $i*15, $imgWidth+15, $i*15, $colorGrey);
}
// lijn op grafiek tekenen
for ($i = 0; $i < (count($graphValues)-1); $i++)
imageline ($image, ($i*40), ($imgHeight-$graphValues[$i]), (($i+1)*40), ($imgHeight-$graphValues[$i+1]), $colorBlue);
imagepng ($image);
imagedestroy ($image);
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
bij de code in doe ik al een kruis krijg in mijn grafiek. Wil dus weten hoe ik dat kan oplossen?
Herman
Maar met mijn script, heb ik het probleem dat ik dus als ik alleen een Herman
zie imagettftext() http://php.net/manual/en/function.imagettftext.php
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
En zet je het type bestand op image/png en dus niet op html/xml, en als je dan
Is de afbeelding niet meer gelding ('test' is geen geldige data voor in een afbeelding).
Maar wat is nu de oplossing de oorzaak is duidelijk, maar heb nog geen oplossing?
Zie mijn vorige post, daar is een link naar de oplossing.