Для обрезки изображений в битриксе есть специальная функция CFile::ResizeImageGet
Работает она вот так:
$renderImage = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"], Array("width" => ШИРИНА, "height" => ВЫСОТА), BX_RESIZE_IMAGE_EXACT, false);
У функции есть несколько опций:
– BX_RESIZE_IMAGE_EXACT – масштабирует в кртинку в прямоугольник c сохранением пропорций, обрезая лишнее;
– BX_RESIZE_IMAGE_PROPORTIONAL – масштабирует с сохранением пропорций;
– BX_RESIZE_IMAGE_PROPORTIONAL_ALT – масштабирует с сохранением пропорций за ширину с автоматическим подбором высоты, хорошо подходит для вертикальных картинок.