ResizeImageGet

При создании интернет-магазина на любой CMS изображение одного и того же товара может выводиться множество раз, с разными размерами: в каталоге, в карточке товара, в корзине, в заказе. Создавать отдельные поля в админке под каждый размер изображения просто нерационально. Можно использовать изменение ширины изображения средствами верстки, но тогда в списке товаров, к примеру, будут выводится картинки, по размеру (размеру файла) совпадающие с размером картинки в карточке товара. Можно представить сколько будет весить при загрузке обычный каталог сайта.

Для решения этой проблемы в битриксе существует гениальная функция resizeimageget. Она не только сжимает изображение до нужного размера, но ещё и кеширует его. Следующий вызов функции resizeimageget не обременит сервер дорогой процедурой сжатия картинки, а просто выдаст закешированную и сохраненную в папке upload/resize_cache/ копию.

Вот синтаксис:

<?


	 array CFile::ResizeImageGet(
               mixed file,
               array arSize,
               const resizeType = BX_RESIZE_IMAGE_PROPORTIONAL,
               bool bInitSizes = false,
               array arFilters = false,
               bool bImmediate = false,
               bool jpgQuality = false
          );
          ?>

Также огромным плюсом функции resizeimageget является то, что она может добавлять водяной знак к текущему изображению, что важно.

За это отвечает параметр filters, который имеет следующий вид:


$arWaterMark = Array(
            array(
                "name" => "image_name",
                "position" => "center", // Положение
                "type" => "image",
                "size" => "real",
                "file" => '/test.png', // Путь к картинке
                "fill" => "exact",
            )
);

Если сжимаемое изображение меньше, чем указано в массиве arSize, то сжатие не произойдет, функция вернет пустой результат, а в раздел сжатых файлов ничего не добавится.



Статьи на тему:
Оставить комментарий
x
Комментарий успешно отправлен и будет доступен после проверки модератором!