Example #1
0
 /**
  * watermark
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 public function watermark($watermarkImage, $gravity, $transparency = 50)
 {
     $arrImgDimention = $this->getDimentions();
     $watermark = new phMagick();
     $watermark->setSource($watermarkImage);
     $arrWatermarkDimention = $watermark->getDimentions();
     $dblXFact = $arrImgDimention[0] / $arrWatermarkDimention[0];
     // width
     $dblYFact = $arrImgDimention[1] / $arrWatermarkDimention[1];
     // height
     if ($dblXFact < 1 || $dblYFact < 1) {
         $strDesintaion = $this->strRenderTmpDir . uniqid() . '.' . pathinfo($watermarkImage, PATHINFO_EXTENSION);
         $watermark->setDestination($strDesintaion);
         if ($dblXFact < $dblYFact) {
             $intWidth = (int) ($arrImgDimention[0] * 0.9);
             $watermark->resize($intWidth);
         } else {
             $intHeight = (int) ($arrImgDimention[1] * 0.9);
             $watermark->resize('', $intHeight);
         }
         $watermarkImage = $watermark->getDestination();
     }
     parent::watermark($watermarkImage, $gravity, $transparency);
     //remove tmp file
     if (isset($strDesintaion)) {
         unlink($strDesintaion);
     }
 }