ResizePicture
Описание
array CIBlock::ResizePicture( array arFile, array arResize );
Метод выполняет масштабирование файла. Метод статический.
Примечание: обрабатываются только файлы JPEG, GIF и PNG (зависит от используемой библиотеки GD). Файл указанный в параметре arFile будет перезаписан.
Возвращаемое значение
Массив описывающий файл или строка с сообщением об ошибке.
Смотрите также
Параметры вызова
Параметр | Описание |
---|---|
arFile | Массив, описывающий файл. Это может быть элемент массива $_FILES[имя] (или $HTTP_POST_FILES[имя]), а также результат метода CFile::MakeFileArray.
С версии модуля 14.0.0 массив файла передается в ключе VALUE, а описание - в ключе DESCRIPTION. |
arResize
| Массив параметров масштабирования. Содержит следующие ключи:
|
Примеры использования
<? AddEventHandler("iblock", "OnBeforeIBlockElementAdd", Array("MyHandlers", "ResizeElementProperty")); AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", Array("MyHandlers", "ResizeElementProperty")); class MyHandlers { public static function ResizeElementProperty(&$arFields) { global $APPLICATION; //Код инфоблока, свойство которого нуждается в масштабировании $IBLOCK_ID = 1; //Идентификатор свойства $PROPERTY_ID = 15; //Наш инфоблок и значения свойства в наличии if( $arFields["IBLOCK_ID"] == $IBLOCK_ID && is_array($arFields["PROPERTY_VALUES"]) && array_key_exists(15, $arFields["PROPERTY_VALUES"]) ) { foreach($arFields["PROPERTY_VALUES"][$PROPERTY_ID] as $key => $arFile) { //Изменяем размеры картинки $arNewFile = CIBlock::ResizePicture($arFile, array( "WIDTH" => 100, "HEIGHT" => 100, "METHOD" => "resample", )); if(is_array($arNewFile)) $arFields["PROPERTY_VALUES"][$PROPERTY_ID][$key] = $arNewFile; else { //Можно вернуть ошибку $APPLICATION->throwException("Ошибка масштабирования изображения в свойстве \"Файлы\":".$arNewFile); return false; } } } } } ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024