3 мар 2019
11160
В API Bitrix есть функция CFile::ResizeImageGet.
Метод уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/путь. Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове метод вернет путь к уменьшенному файлу.
Для того чтобы изменить размер уже загруженных изображений и вывести их, необходимо в нужном месте вставить следующий код:
<?
$resize_image = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]['ID'],
Array("width" => НОВАЯ_ШИРИНА, "height" => НОВАЯ_ВЫСОТА),
BX_RESIZE_IMAGE_EXACT, false);
?>
<img alt="<?=$arItem['NAME'];?>" src="<?=$resize_image['src'];?>"/>
Тип масштабирования:
- BX_RESIZE_IMAGE_EXACT - масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее;
- BX_RESIZE_IMAGE_PROPORTIONAL - масштабирует с сохранением пропорций, размер ограничивается $arSize;
- BX_RESIZE_IMAGE_PROPORTIONAL_ALT - масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.