Оглавление

Проблема

Необходимо установить водяной знак на изображения сайта (например товары каталога), при этом не трогая исходные, загруженные в инфоблок картинки.

Решение

Подготовить картинку водяного знака и собирать новое изображение на лету, в момент показа его в шаблоне компонента


//Определяем водяной знак
$arWaterMark = [
		'name' => 'watermark',
		'position' => 'center', // Положение водяного знака
		'type' => 'image',
		'size' => 'real',
		'file' => $_SERVER['DOCUMENT_ROOT'] . '/upload/watermark.png', // Путь к картинке
		'fill' => 'exact',
	]
];

//Подгоняем изображение под нужный размер и накладываем водяной знак
$PreviewPict = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]["ID"], ['width'=>200, 'height'=>200], BX_RESIZE_IMAGE_PROPORTIONAL, true, $arWaterMark, false, 80);
echo CFile::ShowImage($PreviewPict["src"], 200, 200, "id='".$arItemIDs['PICT']."'  alt='".$arResult["NAME"]."' itemprop='image'  class='catalogLuster' title='".$arResult["NAME"]."' ", "", false);

Для этого мы готовим специальный массив $arWaterMark и предаём его в качестве одного из параметров в метод CFile::ResizeImageGet()
Другие решения
Скачать изображение средствами CURL PHP

Скачать изображение средствами CURL PHP

Как загрузить файл изображения по имеющейся в распоряжении ссылке (URL), при этом проверить его на допустимое разрешение (размер) и вес и mime-тип.

Публикация записей с сайта в Telegram-канал

Публикация записей с сайта в Telegram-канал

Как автоматически публиковать посты в телеграм канал

Вывод блока недавно просмотренных товаров 1С Битрикс

Вывод блока недавно просмотренных товаров 1С Битрикс

Как вывести недавно просмотренные товары в произвольном месте сайта


Комментарии
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке