Source for file Star.class.php
Documentation is available at Star.class.php
* @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
* @copyright Copyright (C) 2008, Takács Ákos
require_once dirname(__FILE__
).
"/../AObject.class.php";
require_once dirname(__FILE__
).
"/../interfaces/IObject.class.php";
* Akárhány ágú, és tetszőleges ághosszú szabályos csillagot hoz létre.
* Megadható ezeken kívül a csillag színe, a csillag szegélyének színe,
* illetve hogy a csillag héttere látható legyen, vagy áttetsző,
* valamint a csillag sugara és az elforgatás szöge.
* De ez a funkció csak akkor működik, ha a kép típusát GIF-ként vagy PNG-ként definiáltuk.
* Egy egyszerű példa, mely 5 ágú, szabályos csillagot hoz létre. fehér színnel, és kék szegéllyel.
* {@example ../examples/star.php}
* Csillag sugara. Középtől a csúcsig
* Az ősosztály __set() metódusában nem definiált értékadások
function __set($var,$value)
case 'radius':
case 'numPoint':
case 'lenPoint':
default:
parent::__set($var, $value);
* Az ősosztály __get() metódusában még nem definiált változó lekérdezések
case 'radius':
case 'numPoint':
case 'lenPoint':
default:
return parent::__get($var);
* @param int $radius Csillag sugara
//sugár beállítása, és abból a szélesség számítása
$this->width =
2 *
$radius;
//háttér és szín beállítása
$this->color =
imageColorAllocate($this->source,1,1,1);
* Létrehozza a csillag alakzatot
* A már megadott tulajdonságok alapján létrehoz egy szabályos csillag alakzatot
//Távolság a csillag közepe és a csócsai között
//Távolás a csillag közepe, és az ágak kezdete között
//csúcsok közti szögelfordulás kiszámítása
$space =
360 /
$numPoint;
$kulso_kor =
array('X'=>
array(),'Y'=>
array());
$belso_kor =
array('X'=>
array(),'Y'=>
array());
//egyező háttér és szegélyszín esetén új keretszín választása
/* csúcspontok meghatározása :start: */
for($i=
90+
$angle;$i<=
450+
$angle; $i +=
$space) {
$belso_kor['X'][] =
$coord_x;
$belso_kor['Y'][] =
$coord_y;
for($i=
($space/
2)+
90+
$angle;$i<=
(360+
(3*
$space)/
2)+
90+
$angle; $i +=
$space) {
$kulso_kor['X'][] =
$coord_x;
$kulso_kor['Y'][] =
$coord_y;
/* csúcspontok meghatározása :end: */
$maxIndex =
count($belso_kor['X'])-
1;
//csúcspontok összekötése
for($i=
0; $i<=
$maxIndex; $i++
) {
imageline($this->source,$belso_kor['X'][$i],$belso_kor['Y'][$i],$kulso_kor['X'][$i],$kulso_kor['Y'][$i],$color);
imageline($this->source,$belso_kor['X'][$i],$belso_kor['Y'][$i],$kulso_kor['X'][$i-
1],$kulso_kor['Y'][$i-
1],$color);
imageline($this->source,$belso_kor['X'][0],$belso_kor['Y'][0],$kulso_kor['X'][$maxIndex],$kulso_kor['Y'][$maxIndex],$color);
Documentation generated on Tue, 09 Feb 2010 01:17:51 +0100 by phpDocumentor 1.4.1