/** * @param MediaManager $mediaManager * @param MediaInterface $media */ public function __construct(MediaManager $mediaManager, MediaInterface $media) { $this->mediaManager = $mediaManager; $this->media = $media; $this->imagine = $mediaManager->getImagine(); $this->image = $this->imagine->load($mediaManager->getContent($media)); }
/** * {@inheritdoc} */ public function apply(ImageInterface $image) { $watermark = $this->imagine->open($this->watermarkFilename); $size = $image->getSize(); $wSize = $watermark->getSize(); // Watermark in top left $topLeftPoint = new Point(self::WATERMARK_PADDING, self::WATERMARK_PADDING); $image->paste($watermark, $topLeftPoint); // Watermark in bottom right $bottomRightPoint = new Point($size->getWidth() - $wSize->getWidth() - self::WATERMARK_PADDING, $size->getHeight() - $wSize->getHeight() - self::WATERMARK_PADDING); $image->paste($watermark, $bottomRightPoint); // Watermark in middle $middlePoint = new Point(floor($size->getWidth() / 2 - $wSize->getWidth() / 2), floor($size->getHeight() / 2 - $wSize->getHeight() / 2)); $image->paste($watermark, $middlePoint); return $image; }
protected function createCanvas() { $transparency = new \Imagine\Image\Color($this->color, 0); return $this->imagine->create($this->size, $transparency); }