Esempio n. 1
0
 /**
  * @param \PHPThumb\GD $phpthumb
  * @return \PHPThumb\GD
  */
 public function execute($phpthumb)
 {
     $currentDimensions = $phpthumb->getCurrentDimensions();
     $watermarkDimensions = $this->wm->getCurrentDimensions();
     $watermarkPositionX = $this->offsetX;
     $watermarkPositionY = $this->offsetY;
     if (preg_match('/right|east/i', $this->position)) {
         $watermarkPositionX += $currentDimensions['width'] - $watermarkDimensions['width'];
     } else {
         if (!preg_match('/left|west/i', $this->position)) {
             $watermarkPositionX += intval($currentDimensions['width'] / 2 - $watermarkDimensions['width'] / 2);
         }
     }
     if (preg_match('/bottom|lower|south/i', $this->position)) {
         $watermarkPositionY += $currentDimensions['height'] - $watermarkDimensions['height'];
     } else {
         if (!preg_match('/upper|top|north/i', $this->position)) {
             $watermarkPositionY += intval($currentDimensions['height'] / 2 - $watermarkDimensions['height'] / 2);
         }
     }
     $workingImage = $phpthumb->getWorkingImage();
     $watermarkImage = $this->wm->getWorkingImage() ? $this->wm->getWorkingImage() : $this->wm->getOldImage();
     $this->imageCopyMergeAlpha($workingImage, $watermarkImage, $watermarkPositionX, $watermarkPositionY, 0, 0, $watermarkDimensions['width'], $watermarkDimensions['height'], $this->opacity);
     $phpthumb->setWorkingImage($workingImage);
     return $phpthumb;
 }