Масштабирование изображения с последующим его сохранением в 1С-Битрикс
Скрипт проверяет, что это файл gif, png, jpeg или jpg (изображение), меняет размер и сохраняет:
// проверяем тип и размер файла.
$checkfile = CFile::CheckFile($arFile, 400000, "image/", "gif,png,jpeg,jpg");
if(strlen($checkfile) > 0) {
echo $arFile["name"] . ": " . $checkfile . "<br>";
} else {
// масштабируем изображение
CFile::ResizeImage(
$arFile, // путь к изображению, сюда же будет записан уменьшенный файл
[
"width" => $newWidth, // новая ширина
"height" => $newHeight // новая высота
],
BX_RESIZE_IMAGE_EXACT // метод масштабирования. обрезать прямоугольник без учета пропорций
);
// сохраняем уменьшенное изображение.
$fileId = CFile::SaveFile($arFile, $IBlockType);
}
Источник: https://dev.1c-bitrix.ru/api_help/main/reference/cfile/resizeimage.php