Poďme na to.
Najprv si prekopírujte zdrojové súbory webového do adresára a spustite vo webovom prehliadači. Okamžite uvidíte výsledok:) Poviete si, aké jednoduché....
Áno, je to jednoduché. Nebudem vysvetľovať do detailu všetky metódy triedy, ktorá graf vytvára, ale pokúsim sa aspoň jednoducho prejsť použitie (to by Vás malo zaujímať najviac) zdrojových kódov, ktoré Vám ponúkam.
Subor "graph3D.php" - je zdrojový kód triedy 3D grafu. Táto trieda obsahuje všetky potrebné metódy a vlastnosti na nakreslenie jednoduchého grafu, ale aj zložitejšieho 3D grafu, dokonca aj grafu so sumarizovanými položkami. V súbore si treba akurát všimnúť konštantu "FONTDIR", ktorá nasmeruje knižnicu v PHP (na grafické rozhranie) do adresára s fontami. Ak beží webový server pod Windowsom, treba nájsť platný adresár inštalovaných fontov a prepísať ho do konštanty a súbor uložiť.
DEFINE('FONTDIR', "C:/windows/fonts/arial.ttf");
Súbor "draw_graph3D.php" použije triedu grafu na vytvorenie objektu grafu s vymyslenými dátami.
- $values - demonštrujeme vyplnenie tohto poľa dvoma spôsobmi (viď v súbore), radíme - najlepšie si vyskúšať.
- $graph = new CGraph3D(400,200); - vytvoríme objekt (v pozadí sa v podstate vytvára PNG obrázok)
- nastavíme požadované vlastnosti grafu:
$graph->xtext = 'Pos.'; $graph->ytext = 'Repair time [min]'; $graph->headertext = "Repair time: $time_summary min"; $graph->headerfontsize = 14;
- nastavíme vlastnosti nálepiek na položky v grafe :
$graph->label_direction = 'horizontal'; $graph->label_vertical_align = 'over'; $graph->label_horizontal_align = 'center'; $graph->label_color = '#E1FFE1'; $graph->label_showshadow = true; $graph->label_movey = -2;
- nastavíme ostatné vlastnosti :
//$graph->bar_random_color = true; // ak by sme chceli farby jednotlivých položiek grafu mať sfarbené náhodne $graph->gradienteffect = true; // zobraziť gradient efekt pri vykreslení položiek grafu $graph->effect3D = true; // zobraziť položky grafu v 3D $graph->graphangle = 35; // uhol položky grafu v 3D stave $graph->zwidth = 15; // hrúbka položky grafu v 3D stave v osi Z $graph->values = $values; // hodnoty pre graf, spomenuté vyššie
- vytvoríme graf v obrázku :
$graph->Draw_graph(); // vykreslenie grafu do obrázka $graph->Putintobuffer(); // odoslanie obrázka do bufferu, ktorý sa posiela HTTP protokolom. V tejto metóde sa v hlavičke protokolu určí, že protokol obsahuje obrázok. $graph = null; // pre istotu vyvoláme explicitne deštruktor triedy objektu, aby sa nám uvoľnila pamäť, pretože obrázky spotrebovávajú v rámci session veľa pamäte, ktorú treba poctivo uvoľňovať. Aj keď webový server uvolňuje pamäť automaticky, nie vždy je deštruktor volaný okamžite.
Väčšina vlastností je triviálna a myslím si, že ľahko pochopiteľná a najlepšie bude, keď si to vyskúšate prakticky sami.
A tretí "show_graph3D.php", ktorý si v prehliadači vyvoláte, aby ste videli vykreslený hotový graf napr. http://mojadomena/testgraf/show_graph3D.php.
Tu sa v podstate vytvorí v HTML objekt IMG - obrázok, ktorý volá súbor "draw_graph3D.php".
Samotné dáta do grafu si samozrejme môžete dopĺňať aj z databáz alebo zo súborov, ale o tom niekedy inokedy.
Prajem veľa zábavy s grafmi (generovaných na webovom serveri) zobrazených v prehliadači. Komplétne zdrojove kódy si môžete stiahnuť v prílohe.
S pozdravom AB.