Добавить вотермарк/watermark битрикс (на изображение которое уже загружено)

Самое удобное, что эти классы интегрированы с методом ResizeImageGet

ResizeImageGet($file, $arSize, $resizeType = BX_RESIZE_IMAGE_PROPORTIONAL, $bInitSizes = false, $arFilters = false)

Т.е. если в параметр $arFilters при вызове ResizeImageGet добавить фильтр «watermark»
Например, так


$arFilters = Array(
array(«name» => «watermark», «position» => «center», «size»=>»real», «file»=>$_SERVER[‘DOCUMENT_ROOT’].»/img/logo.png»)
);

то на изображение по центру будет наложен логотип /img/logo.png

Пример использования в result_modifier.php:

$arFilterz = Array(array(«name» => «watermark», «position» => «center», «size»=>»real», «file»=>$_SERVER[‘DOCUMENT_ROOT’].»/img/watermark.png»));

$arPhoto = array();
foreach ($arResult[‘PROPERTIES’][‘PHOTO’][‘VALUE’] as $key => $photo ) {
$arPhoto[$key][‘SMALL’] = CFile::ResizeImageGet($photo, array(‘height’ => PIC_PROD_SMALL_H, ‘width’ => PIC_PROD_SMALL_W), BX_RESIZE_IMAGE_EXACT, true);
$arPhoto[$key][‘NORMAL’] = CFile::ResizeImageGet($photo, array(‘height’ => PIC_PROD_NORMAL_H,’width’ => PIC_PROD_NORMAL_W), BX_RESIZE_IMAGE_EXACT, true, $arFilterz);
$arPhoto[$key][‘BIG’] = CFile::ResizeImageGet($photo, array(‘height’ => PIC_PROD_BIG_H, ‘width’ => PIC_PROD_BIG_W), BX_RESIZE_IMAGE_PROPORTIONAL_ALT , true);
}

$arResult[‘PROPERTIES’][‘PHOTO’] = $arPhoto;