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 - Driving instructions
  •  
  •  
  •  
 
 

Driving instructions

There is a paved road all the way to Margionys village!

Arriving from Vilnius

...take Trakai, and later Druskininkai/Varėna direction. After you have reached Senoji Varėna (less that 80 km from Vilnius), turn left - towards the center of Varėna. In Varėna town, turn right at the first light and continue Marcinkonys direction. Continue until you reach Marcinkonys (about 20 km). Do not turn into Marcinkonys village, but continue straight, leaving village on the left-hand side. Once you have reached a crossroad, stay on the main road and turn right, Druskininkai direction (at this crossroad you will see a railway crossing ahead of you - do not go there). After you have turned towards Druskininkai, continue straight for about 10 km, until you have reached Margionys village. Turn left, into the village, before the cemetery. This will be the main village road. After about 100 meters on this road, turn right - towards "Klojimo teatras" (Barn Theatre). The last house on the right-hand side is a final destination of your trip!

Arriving from Poland

...travel via Augostów. You will cross Polish/Lithuanian border in Ogrodniki/Lazdijai border crossing. From Lazdijai continue towards Veisiejai. After having passed Veisiejai, continue to Leipalingis. After having crossed Leipalingis, turn towards Druskininkai. You will enter Druskininkai on "Veisiejų" street. In one of the crossings with the light, you will have to turn left - to enter "M.K. Čiurlionio" street, which at the same time is a road to Vilnius. After roughly one kilometer on this road, turn right - to "Ratnyčios" street. From "Ratnyčios" street you will enter into "Latežerio" street on which, after having crossed "Kauno plentas" (A4), continue Latežeris direction. Having passed Latežeris, continue towards Marcinkonys. Do not forget to turn left - Marcinkonys direction -, having reached a crossroad, where going straight you could continue to Kabeliai. After a couple of kilometers you will reach Margionys village. Turn right, into the village, after the cemetery. This will be the main village road. After about 100 meters on this road, turn right - towards "Klojimo teatras" (Barn Theatre). The last house on the right-hand side is a final destination of your trip!

Arriving from Kaunas, through Alytus

...go towards Alytus, from Alytus - towards Druskininkai, through Merkinė. Passed the crossroad of Markinė, continue towards Druskininkai, until you have crossed Merkys river and reached the top of the hill. On the hill, turn left - on the road to Marcinkonys (Puvočiai). Continue on this winding road for about 15-20 km. Drive carefully! After you have entered Varėna/Marcinkonys road, turn right, but then do not turn left immediately - into Marcinkonys village. Continue straight, leaving village on the left-hand side. Once you have reached a crossroad, stay on the main road and turn right, Druskininkai direction (at this crossroad you will see a railway crossing ahead of you - do not go there). After you have turned towards Druskininkai, continue straight for about 10 km, until you have reached Margionys village. Turn left, into the village, before the cemetery. This will be the main village road. After about 100 meters on this road, turn right - towards "Klojimo teatras" (Barn Theatre). The last house on the right-hand side is a final destination of your trip!