Notice: Undefined variable: _ in /var/www/vhosts/margionys.lt/httpdocs/chf/message.php on line 61
Notice: Undefined variable: _ in /var/www/vhosts/margionys.lt/httpdocs/chf/message.php on line 61
* @package CHF::CORE * @subpackage component * @filesource * @version v3.0/2006 */ /** * CHF_Component_Thumbnail * * @author Marius Kazemekaitis a.k.a cOdH * @package CHF::CORE * @subpackage component */ class CHF_Component_Thumbnail extends CHF_Component { /** * $errmsg * * Klaidos pranesimas parsinimui * * @author Marius Kazemekaitis a.k.a cOdH * @var string */ private $errmsg; /** * $error * * Pazymime kai ivyksta klaida * * @author Marius Kazemekaitis a.k.a cOdH * @var bool */ private $error; /** * $format * * Paveikslelio failo formatas * * @author Marius Kazemekaitis a.k.a cOdH * @var string */ private $format; /** * $currentDimensions * * Dabartiniai paveikslelio matmenys * * @author Marius Kazemekaitis a.k.a cOdH * @var array */ private $currentDimensions; /** * $newDimensions * * Nauji matmenys po apdirbimo * * @author Marius Kazemekaitis a.k.a cOdH * @var array */ private $newDimensions; /** * $newImage * * Galutinis paveikslelis atvaizdavimui arba issaugojimui * * @author Marius Kazemekaitis a.k.a cOdH * @var mixed */ private $newImage; /** * $oldImage * * Originalus paveikslelis apdirbimui * * @author Marius Kazemekaitis a.k.a cOdH * @var mixed */ private $oldImage; /** * $workingImage * * Apdirbamas paveikslelis * * @author Marius Kazemekaitis a.k.a cOdH * @var mixed */ private $workingImage; /** * $fileName * * Paveikslelio failo vardas. * Gali buti su direktorija * * @author Marius Kazemekaitis a.k.a cOdH * @var string */ public $fileName; /** * $maxWidth * * Maksimalus paveikslelio plotis * * @author Marius Kazemekaitis a.k.a cOdH * @var int */ public $maxWidth; /** * $maxHeight * * Maksimalus paveikslelio aukstis * * @author Marius Kazemekaitis a.k.a cOdH * @var int */ public $maxHeight; /** * $percent * * Procentinis paveikslelio dydis * * @author Marius Kazemekaitis a.k.a cOdH * @var int */ public $percent; /** * $quality * * JPEG paveikslelio kokybe * * @author Marius Kazemekaitis a.k.a cOdH * @var int */ public $quality; /** * $cropSize * * Dydis pikseliais paveikslelio iskirpimui (nuo centro) * * @author Marius Kazemekaitis a.k.a cOdH * @var int */ public $cropSize; public $cropX; public $cropY; /** * __construct * * @author Marius Kazemekaitis a.k.a cOdH * @return void */ public function __construct() { $this->errmsg = ''; $this->error = false; $this->format = ''; $this->currentDimensions = array(); $this->newDimensions = array(); $this->fileName = ''; $this->maxWidth = 0; $this->maxHeight = 0; $this->percent = 0; $this->quality = 60; $this->cropSize = 0; $this->cropX = 0; $this->cropY = 0; } /** * __destruct * * @author Marius Kazemekaitis a.k.a cOdH * @return void */ public function __destruct() { if($this->newImage) @ImageDestroy($this->newImage); if($this->oldImage) @ImageDestroy($this->oldImage); if($this->workingImage) @ImageDestroy($this->workingImage); } /** * init() * * Tikrinamos klaidos ir nustatomas failo tipas * * @author Marius Kazemekaitis a.k.a cOdH * @return void */ public function init() { if(!file_exists($this->fileName)) { $this->errmsg = "File not found"; $this->error = true; } elseif(!is_readable($this->fileName)) { $this->errmsg = "File is not readable"; $this->error = true; } if($this->error == false) { if(stristr(strtolower($this->fileName),'.gif')) $this->format = 'GIF'; elseif(stristr(strtolower($this->fileName),'.jpg') || stristr(strtolower($this->fileName),'.jpeg')) $this->format = "JPG"; elseif(stristr(strtolower($this->fileName),'.png')) $this->format = 'PNG'; else { $this->errmsg = "Unknown file format"; $this->error = true; } } if($this->maxWidth == 0 && $this->maxHeight == 0 && $this->percent == 0) $this->percent = 100; if($this->error == false) { switch($this->format) { case "GIF": $this->oldImage = ImageCreateFromGif($this->fileName); break; case "JPG": $this->oldImage = ImageCreateFromJpeg($this->fileName); break; case "PNG": $this->oldImage = ImageCreateFromPng($this->fileName); break; } $size = GetImageSize($this->fileName); $this->currentDimensions = array("width"=>$size[0],"height"=>$size[1]); $this->newImage = $this->oldImage; } if($this->error) { $this->showErrorImage(); break; } } public function getCurrentWidth() { return $this->currentDimensions['width']; } public function getCurrentHeight() { return $this->currentDimensions['height']; } public function calcWidth($width,$height) { $newWP = (100 * $this->maxWidth) / $width; $newHeight = ($height * $newWP) / 100; return array("newWidth"=>intval($this->maxWidth),"newHeight"=>intval($newHeight)); } public function calcHeight($width,$height) { $newHP = (100 * $this->maxHeight) / $height; $newWidth = ($width * $newHP) / 100; return array("newWidth"=>intval($newWidth),"newHeight"=>intval($this->maxHeight)); } public function calcPercent($width,$height) { $newWidth = ($width * $this->percent) / 100; $newHeight = ($height * $this->percent) / 100; return array("newWidth"=>intval($newWidth),"newHeight"=>intval($newHeight)); } public function calcImageSize($width,$height) { $newSize = array("newWidth"=>$width,"newHeight"=>$height); if($this->maxWidth > 0 && $width > $this->maxWidth) { $newSize = $this->calcWidth($width,$height); if($this->maxHeight > 0 && $newSize['newHeight'] > $this->maxHeight) $newSize = $this->calcHeight($newSize['newWidth'],$newSize['newHeight']); $this->newDimensions = $newSize; } if($this->maxHeight > 0 && $height > $this->maxHeight) { $newSize = $this->calcHeight($width,$height); if($this->maxWidth > 0 && $newSize['newWidth'] > $this->maxWidth) { $newSize = $this->calcWidth($newSize['newWidth'],$newSize['newHeight']); } $this->newDimensions = $newSize; } if($this->percent > 0) { $newSize = $this->calcPercent($width,$height); $this->newDimensions = $newSize; } } public function showErrorImage() { header("Content-type: image/png"); $errImg = ImageCreate(220,25); $bgColor = ImageColorAllocate($errImg,0,0,0); $fgColor1 = ImageColorAllocate($errImg,255,255,255); $fgColor2 = ImageColorAllocate($errImg,255,0,0); ImageString($errImg,3,6,6,"ERROR:",$fgColor2); ImageString($errImg,3,55,6,$this->errmsg,$fgColor1); ImagePng($errImg); ImageDestroy($errImg); } public function resize($name = '') { $this->calcImageSize($this->currentDimensions['width'],$this->currentDimensions['height']); if(function_exists("ImageCreateTrueColor")) { $this->workingImage = ImageCreateTrueColor($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); } else { $this->workingImage = ImageCreate($this->newDimensions['newWidth'],$this->newDimensions['newHeight']); } ImageCopyResampled( $this->workingImage, $this->oldImage, 0, 0, 0, 0, $this->newDimensions['newWidth'], $this->newDimensions['newHeight'], $this->currentDimensions['width'], $this->currentDimensions['height'] ); $this->oldImage = $this->workingImage; $this->newImage = $this->workingImage; $this->currentDimensions['width'] = $this->newDimensions['newWidth']; $this->currentDimensions['height'] = $this->newDimensions['newHeight']; } public function crop() { $cropX = intval(($this->currentDimensions['width'] - $this->cropSize) / 2); $cropY = intval(($this->currentDimensions['height'] - $this->cropSize) / 2); if(function_exists("ImageCreateTrueColor")) { $this->workingImage = ImageCreateTrueColor($this->cropSize,$this->cropSize); } else { $this->workingImage = ImageCreate($this->cropSize,$this->cropSize); } ImageCopy( $this->workingImage, $this->oldImage, 0, 0, $this->cropX, $this->cropY, $this->cropSize, $this->cropSize ); $this->oldImage = $this->workingImage; $this->newImage = $this->workingImage; $this->currentDimensions['width'] = $this->cropSize; $this->currentDimensions['height'] = $this->cropSize; } public function save($name) { $this->show($name); } function show($name='') { switch($this->format) { case "GIF": if($name != '') { ImageGif($this->newImage,$name); } else { header("Content-type: image/gif"); ImageGif($this->newImage); } break; case "JPG": if($name != '') { ImageJpeg($this->newImage,$name,$this->quality); } else { header("Content-type: image/jpeg"); ImageJpeg($this->newImage,'',$this->quality); } break; case "PNG": if($name != '') { ImagePng($this->newImage,$name); } else { header("Content-type: image/png"); ImagePng($this->newImage,$name); } break; } } } ?> Margionys - Kaip rasti?
  •  
  •  
  •  
 
 

Kaip rasti?

Iki Margionių kaimo veda asfaltuotas kelias!

Iš Vilniaus

...važiuoti Trakų, o po Druskininkų/Varėnos kryptimi. Privažiavus Senąją Varėną (apie 80 km), sukti link Varėnos centro. Varėnos miestelyje, pirmoje sankryžoje su šviesoforu sukti į dešinę, Marcinkonių kryptimi. Važiuoti iki Marcinkonių (apie 20 km). Nesukti į Marcinkonių kaimą, tačiau važiuoti toliau pagrindiniu keliu. Privažiavus sankryžą, sukti į dešinę, pagrindiniu keliu, Druskininkų kryptimi (privažiavus šią sankryžą priekyje matysis geležinkelio pervaža). Pasukus link Druskininkų, toliau važiuoti apie 10 km, kol pasieksite Margionių kaimą. Prieš kapines sukti į kairę, tai pagrindinis kaimo kelias. Pavažiavus šiuo keliuku apie 100 metrų, sukti į dešinę ir važiuoti link "Klojimo teatro". Paskutinis namas dešinėje pusėje, priešais "Klojimo teatrą", ir bus jūsų galutinis kelionės tikslas.

Atvykstant iš Lenkijos

...važiuosite pro Augostów. Lenkijos/Lietuvos sieną kirsite Ogrodniki/Lazdijai pasienio punkte. Važiuokite link Lazdijų miestelio. Iš Lazdijų, važiuokite link Veisiejų. Pervažiavę Veisiejų miestelį, važiuokite link Leipalingio. Pravažiavę Leipalingį, sukite link Druskininkų. Privažiavę Druskininkus važiuosite "Veisiejų" gatve. Vienoje iš sankryžų turėsite sukti į kairę - į "M.K. Čiurlionio" gatvę, kuri tuo pačiu yra ir kelias Vilniaus kryptimi. Pavažiavę gerą kilometrą, sukite į dešinę - į "Ratnyčios" gatvę. Iš "Ratnyčios" gatvės pateksite į "Latežerio" gatvę, kuria, kirtę "Kauno plentą" (A4), važiuokite tolyn Latežerio kryptimi. Pravažiavę Latežerį, važiuokite tolyn link Marcinkonių. Privažiavus sankryžą, kurioje tiesiai galėtumėte važiuoti į Kabelius, nepamirškite pasukti į kairę, Marcinkonių kryptimi. Po kelių kilometrų privažiuosite Margionių kaimą.

Už kapinių sukite į dešinę, tai pagrindinis kaimo kelias. Pavažiavus šiuo keliuku apie 100 metrų, sukti į dešinę ir važiuoti link "Klojimo teatro". Paskutinis namas dešinėje pusėje, priešais "Klojimo teatrą", ir bus jūsų galutinis kelionės tikslas.

Iš Kauno ir Alytaus

Iš Kauno važiuoti į Alytų, iš Alytaus, link Druskininkus pro Merkinę. Pravažiavus Merkinės sankryžą, važiuoti toliau link Druskininkų, kol kirsite Merkio upę ir vėl pakilsite į kalną. Ant kalno, sukti į Marcinkonis (Puvočius). Įvažiavus į Varėnos/Marcinkonių kelią, nesukti į Marcinkonių kaimą, tačiau važiuoti toliau pagrindiniu keliu. Privažiavus sankryžą, sukti į dešinę, pagrindiniu keliu, Druskininkų kryptimi (privažiavus šią sankryžą priekyje matysis geležinkelio pervaža). Pasukus link Druskininkų, toliau važiuoti apie 10 km, kol pasieksite Margionių kaimą. Prieš kapines sukti į kairę, tai pagrindinis kaimo kelias. Pavažiavus šiuo keliuku apie 100 metrų, sukti į dešinę ir važiuoti link "Klojimo teatro". Paskutinis namas dešinėje pusėje, priešais "Klojimo teatrą", ir bus jūsų galutinis kelionės tikslas.