Skip to content

Commit c7930eb

Browse files
committed
ENGCOM-21154: Add watermark processing in media application
1 parent 9cdc1b7 commit c7930eb

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

app/code/Magento/MediaStorage/Service/ImageResize.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,41 @@ private function resize(array $viewImage, string $originalImagePath, string $ori
257257
]
258258
);
259259

260+
if (isset($imageParams['watermark_file'])) {
261+
if ($imageParams['watermark_height'] !== null) {
262+
$image->setWatermarkHeight($imageParams['watermark_height']);
263+
}
264+
265+
if ($imageParams['watermark_width'] !== null) {
266+
$image->setWatermarkWidth($imageParams['watermark_width']);
267+
}
268+
269+
if ($imageParams['watermark_position'] !== null) {
270+
$image->setWatermarkPosition($imageParams['watermark_position']);
271+
}
272+
273+
if ($imageParams['watermark_image_opacity'] !== null) {
274+
$image->setWatermarkImageOpacity($imageParams['watermark_image_opacity']);
275+
}
276+
277+
$image->watermark($this->getWatermarkFilePath($imageParams['watermark_file']));
278+
}
279+
260280
if ($imageParams['image_width'] !== null && $imageParams['image_height'] !== null) {
261281
$image->resize($imageParams['image_width'], $imageParams['image_height']);
262282
}
263283
$image->save($imageAsset->getPath());
264284
}
285+
286+
/**
287+
* Returns watermark file absolute path
288+
*
289+
* @param string $file
290+
* @return string
291+
*/
292+
private function getWatermarkFilePath($file)
293+
{
294+
$path = $this->imageConfig->getMediaPath('/watermark/' . $file);
295+
return $this->mediaDirectory->getAbsolutePath($path);
296+
}
265297
}

0 commit comments

Comments
 (0)