При создании интернет-магазина на любой CMS изображение одного и того же товара может выводиться множество раз, с разными размерами: в каталоге, в карточке товара, в корзине, в заказе. Создавать отдельные поля в админке под каждый размер изображения просто нерационально. Можно использовать изменение ширины изображения средствами верстки, но тогда в списке товаров, к примеру, будут выводится картинки, по размеру (размеру файла) совпадающие с размером картинки в карточке товара. Можно представить сколько будет весить при загрузке обычный каталог сайта.
Для решения этой проблемы в битриксе существует гениальная функция resizeimageget. Она не только сжимает изображение до нужного размера, но ещё и кеширует его. Следующий вызов функции resizeimageget не обременит сервер дорогой процедурой сжатия картинки, а просто выдаст закешированную и сохраненную в папке upload/resize_cache/ копию.
Вот синтаксис:
<?
Также огромным плюсом функции resizeimageget является то, что она может добавлять водяной знак к текущему изображению, что важно.
За это отвечает параметр filters, который имеет следующий вид:
Если сжимаемое изображение меньше, чем указано в массиве arSize, то сжатие не произойдет, функция вернет пустой результат, а в раздел сжатых файлов ничего не добавится.