/** * @param ImagickContract $image */ private function addWaterMarkToImage(ImagickContract $image) { $this->waterMark()->scaleImage($image->getImageWidth() * self::SCALE, 0); $margin = $image->getImageWidth() * self::MARGIN; $image->compositeImage($this->waterMark()->getImage(), Imagick::COMPOSITE_DEFAULT, $margin, array_sum([$image->getImageHeight(), -$this->waterMark()->getImageHeight(), -$margin])); }