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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| <?php
// createPNG.php - genereren van een PNG afbeelding met elektriciteit verbruik en opwekking
//Set the Content Type
header('Content-Type: image/png');
header('Content-Disposition: inline; filename="flowschema.png"');
// Create Image From Existing File
// Dit is de ondergrond afbeelding, waarop de tekst wordt toegevoegd
$im = imagecreatefrompng("schema.png");
// Allocate A Color For The Text
$green = imagecolorallocate($im, 0, 147, 83); // Rood, Groen, Blauw
$grey = imagecolorallocate($im, 102, 102, 102);
$white = imagecolorallocate($im, 200, 200, 200);
// Set Path to Font File
$font_path = 'arialbd.ttf'; // bold
$font_path2 = 'arial.ttf'; // standaard
$font_size = 10;
// Haal de getallen/variabelen binnen die via de URL worden meegegeven ($_GET)
$variabelen = array('afname', 'teruglevering', 'warmtepomp', 'opbrengst_dak', 'opbrengst_garage', 'motor', 'laadpaal', 'datum');
foreach($variabelen as $value)
{
if(isset($_GET[$value])) $$value = strip_tags($_GET[$value]);
else $$value = 0;
}
$vorig_jaar = mktime(date("H",$datum),date("i",$datum),date("s",$datum),date("m",$datum),date("d",$datum),date("Y",$datum)-1);
$periode = date("d-m-Y",$vorig_jaar) . ' tot ' . date("d-m-Y",$datum);
// Voer berekeningen uit
$opbrengst = $opbrengst_dak+$opbrengst_garage;
$zonverbruikt = $opbrengst-$teruglevering; // Hoeveelheid zelf verbruikte zonne-energie
$zonverbruikt_percentage = $zonverbruikt/$opbrengst;
$teruglevering_percentage = $teruglevering/$opbrengst;
$afname_percentage = $afname/($afname+$zonverbruikt);
$restverbruik = $afname+$zonverbruikt-$warmtepomp-$motor-$laadpaal;
// Print Text On Image
// imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
imagettftext($im, $font_size, 0, 148, 331, $green, $font_path, number_format($opbrengst_dak,0,',','.') . ' kWh');
imagettftext($im, $font_size-2, 0, 142, 352, $green, $font_path2, number_format($opbrengst_dak/2.65,0,',','.') . ' kWh/kWp');
imagettftext($im, $font_size, 0, 152, 562, $green, $font_path, number_format($opbrengst_garage,0,',','.') . ' kWh');
imagettftext($im, $font_size-2, 0, 144, 583, $green, $font_path2, number_format($opbrengst_garage/1.02,0,',','.') . ' kWh/kWp');
imagettftext($im, $font_size, 0, 280, 231, $green, $font_path, number_format($zonverbruikt_percentage*100,1,',','.') . '%');
imagettftext($im, $font_size, 0, 266, 249, $green, $font_path, number_format($zonverbruikt,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 280, 310, $green, $font_path, number_format($teruglevering_percentage*100,1,',','.') . '%');
imagettftext($im, $font_size, 0, 266, 292, $green, $font_path, number_format($teruglevering,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 394, 231, $grey, $font_path, number_format($afname_percentage*100,1,',','.') . '%');
imagettftext($im, $font_size, 0, 382, 249, $grey, $font_path, number_format($afname,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 255, 508, $green, $font_path, number_format($teruglevering,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 255, 524, $green, $font_path, '(T1r + T2r)');
imagettftext($im, $font_size, 0, 382, 508, $grey, $font_path, number_format($afname,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 382, 524, $grey, $font_path, '(T1 + T2)');
imagettftext($im, $font_size, 0, 112, 176, $grey, $font_path, number_format($warmtepomp,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 253, 177, $grey, $font_path, number_format($laadpaal,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 360, 177, $grey, $font_path, number_format($restverbruik,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 500, 177, $grey, $font_path, number_format($motor,0,',','.') . ' kWh');
imagettftext($im, $font_size, 0, 10, 686, $grey, $font_path, 'Elektriciteit');
imagettftext($im, $font_size-1, 0, 10, 701, $grey, $font_path2, 'Verbruik en teruglevering');
imagettftext($im, $font_size-1, 0, 10, 716, $grey, $font_path2, 'Periode: ' . $periode);
imagettftext($im, $font_size - 2, 0, 373, 712, $white, $font_path2, '© Anton Boonstra');
imagettftext($im, $font_size, 0, 45, 342, $white, $font_path, '2.650 Wp');
imagettftext($im, $font_size, 0, 46, 574, $white, $font_path, '1.020 Wp');
// Send Image to Browser
imagepng($im);
// Clear Memory
imagedestroy($im);
?> |