/** * 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); } }