Ejemplo n.º 1
0
 /**
  * return the logo image which fits the best to the size of the map
  *
  * @return resource
  */
 private function _chooseLogoFile()
 {
     $mapWidth = imagesx($this->_img);
     $mapHeight = imagesy($this->_img);
     foreach ($this->_logoFiles as $logoFile) {
         $logoImageHandler = ImageHandler::createImageHandlerFromFileExtension($logoFile);
         $logoImage = $logoImageHandler->loadImage($logoFile);
         $logoWidth = imagesx($logoImage);
         $logoHeight = imagesy($logoImage);
         if ($logoWidth < $mapWidth && $logoHeight < $mapHeight) {
             return $logoImage;
         }
     }
     return $logoImage;
 }
Ejemplo n.º 2
0
 /**
  * draw point on map
  *
  * @param Map $map
  */
 public function draw(Map $map)
 {
     $image = $map->getImage();
     $color = $this->_getDrawColor($image);
     $pointImage = false;
     if ($this->hasImageUrl()) {
         $size = HelpClass::getSizeOfRemoteFile($this->_imageUrl->getUrl());
         if ($size <= self::$maxSizeOfPointImage) {
             try {
                 $imageHandler = ImageHandler::createImageHandlerFromFileExtension($this->_imageUrl->getUrl());
                 $pointImage = $imageHandler->loadImage($this->_imageUrl->getUrl());
             } catch (ImageHandlerException $e) {
             }
         }
     }
     if ($pointImage !== false) {
         $map->putImage($pointImage, $this->getLon(), $this->getLat());
     } else {
         $color = $this->_getDrawColor($image);
         $point = $map->getPixelPointFromCoordinates($this->getLon(), $this->getLat());
         $vertices = array($point['x'], $point['y'], $point['x'] - 10, $point['y'] - 20, $point['x'] + 10, $point['y'] - 20);
         imagefilledpolygon($map->getImage(), $vertices, 3, $color);
     }
 }
 public function __construct($fileName)
 {
     $this->setImageHandler(ImageHandler::createImageHandlerFromFileExtension($fileName));
     parent::__construct($this->_imageHandler->loadImage($fileName));
 }