Задать вопрос
@sagaton

Как изменить размер изображения?

Как изменить размер изображения если массив с путем к картинке один?
[PREVIEW_PICTURE_SRC] => /upload/iblock/0ff/jvdg3y94o8fhfgjmzxj0c3vodb7eosd8.png

Пробовал как-то так
$resize = CFile::ResizeImageGet(
        $img['PREVIEW_PICTURE_SRC'],
        Array('width'=>260,
            'height'=>260),
        BX_RESIZE_IMAGE_EXACT,
        true
    );

Но чтобы применить обычно используется такое
$arResult["ITEMS"][$key]['PREVIEW_PICTURE']['SRC'] = $resize['src'];

но как применить в данном случае? Если нет ['src'] а только ['PREVIEW_PICTURE_SRC']
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
@nikolay22323
Зареж его через imagemagick
Ответ написан
@tgarl
А кто мешает вам получившееся значение присвоить любому удобному вам ключу и использоввать уже его?
$arResult["ITEMS"][$key]['NEW_PREVIEW_PICTURE_SRC'] = $resize['src'];

и в шаблоне исправить ключ на ваш новый
Ответ написан
Комментировать
@PetrPo
Ну это конечно ппц как страно, но как-то так
$resize = [];

$filePath = '/upload/iblock/0ff/jvdg3y94o8fhfgjmzxj0c3vodb7eosd8.png';
$arFilePath = explode('/', $filePath);
$fileName = $arFilePath[array_key_last($arFilePath)];

$iterator = \Bitrix\Main\FileTable::getList([
	'select' => ['ID'],
	'filter' => ['FILE_NAME' => $fileName],
]);

if($row = $iterator->fetch()) {
	$resize = CFile::ResizeImageGet($row['ID'], ['width'=>260, 'height'=>260], BX_RESIZE_IMAGE_EXACT, true);
}

print_r($resize);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы