PHP grafika - R.E. PHP Graph v1.0

Törpi a sztár

Ez a program egy PHP grafikus osztálykönyvtár próbálna lenni. És úgy néz ki, hogy eddig sikerült is neki. némely részei 2 éve porosodnak a gépemen, és most gondoltam úgy, hogy eljött az ideje ezen változtatni.
Letöltés: R.E. PHP Graph v1.0
Dokumentáció letöltése
Dokumentáció online megtekintése
Példa képek


Tudnivalók:
A dokumentációban nagyjából minden le van írva. De azért nagy vonalakban miről is van szó. A Graph.class.php-t kell beilleszteni a programba elsőként. Majd létre kell hozni egy grafika objektumot, amire rá lehet pakolni egyéb objektumokat:

<?php
require_once 'rephpgraph/Graph.class.php';
$graph = new Graph(150,150);
$graph->type = 'png';
$graph->transparent = true;
?>

A szélességet és a magasságot kell csak megadni. Valamint megadható a kép típusa, és hogy legyen-e áttetsző a háttérszín. Ha szükség van objektumokra, akkor azt importálni kell a Graph osztály statikus importObject() metódusával. Ha paraméter nélkül hívjuk, akkor minden objektumot importál (Azaz osztályt). Ha stringet kap, akkor az osztály nevét kéri csak. Ha tömböt kap, akkor a tömbben kapja az osztályok neveit.
Az importIterator() ugyanezen elven működik. Csak iterátorokat importál.

Ezek után létre lehet hozni egy tetszőleges objektumot. És a $graph objektum add metódusával hozzá adható a képhez.

<?php
require_once 'rephpgraph/Graph.class.php';
$graph = new Graph(150,150);
$graph->type = 'png';
$graph->transparent = true;

$ora = new AnalogClock(74,mktime(7,10,30));
$ora->x = $graph->width-$ora->width/2;  //óra középpontjának koordinátái a képen
$ora->y = $graph->height-$ora->height/2;
$ora->background = $ora->createColor(0,0,130);
$ora->transparent = true;

$graph->add($ora); //óra felvétele  aképre

$graph->flush(); //kép megjelenítése

?>

A $graph objektum flush() metódusa küldi ki a képet a kimenetre. De lehetőség van lementeni is a képet a

<?php
$graph->save('fajlneve.png');
?>

metódushívással, vagy akár letöltésre kiküldeni a böngészőnek:

<?php
$graph->saveClient('fajlneve.png');
?>

Ennek kimenete:

Analóg óra
Természetesen az óra nem csak statikus időt tartalmazhat, hanem mindig az aktuális időt is.
Terveim közt szerepel még több objektum megírása, de egyelőre sok más elfoglaltság mellett halasztom a dolgot.

Kategóriák: 
Megosztás/Mentés

Hozzászólások

Semmu képe

Nagyon király cucc! remélem még bővíteni fogod ;)