CFile::ResizeImageGet

Рейтинг: 20.4595  
На голосовании
Предложил Хан Эрли 02.01.2012 20:52:47

CFile::ResizeImageGet

Предложения:
  1. На странице документации привести подробные примеры использования функции для установки водяных знаков. Указать какие параметры обязательны, а какие нет.
  2. В случае использования режима "BX_RESIZE_IMAGE_EXACT" дать возможность задать фоновый цвет, а ещё лучше, фоновую картинку, т.к. когда картинка обрезается до нужных размеров могут появиться чёрные поля (описано тут).
  3. Вообще то по этой функции надо бы лучше сделать документацию. Как сохраняет файлы, куда, что и как кеширует... А то приходится гуглить и копаться в кодах :(

    добавлено 03.01.12


  4. Надо добавить флаг "принудительного растягивания". т.е. предположим, у нас выставлены размеры 400х300, а картинка загружена размером 300х250. В таком случае функция не отработает. А жаль... Иногда, пусть и с потерей качества надо растягивать
  5. Добавить флаг "принудительно накладывать водяной знак". Пример:
    Есть у нас код:

    $arFilter_watermark = Array(
        Array( 'name' => 'watermark',
          'position' => 'br',
                'size'=>'real',
               'type'=>'image',
          'alpha_level'=>'50',
          'file'=>$_SERVER['DOCUMENT_ROOT'].'/images/icons/img.png', 
            ),
    );
          
       $arFileTmp = CFile::ResizeImageGet(
          $arResult["DETAIL_PICTURE"],
          array("width" => 450, 'height' => 300),
          BX_RESIZE_IMAGE_PROPORTIONAL_ALT,
          false,
          $arFilter_watermark
       );
    Если загрузить картинку размером 300х200, то функция не отработает и водяных знаков не будет :(

Рейтинг: 0  
Орестов Олег 16.01.2012 00:12:05
Основная проблема этой функции в том, что если не делать изменение размеров, то наложить водяной знак нельзя.
Рейтинг: 0.5357  
Хан Эрли 16.01.2012 01:39:53
И и для этого писать отдельную функцию?
Ну это не красиво... откудаж я знаю - какого размера будет загружена картинка?
Ах самому проверить... Если больше - пихать через эту функцию, если меньше - пихать через свою. Где ж тогда фреймворкность?
Рейтинг: 0  
Соловьев Алексей 12.09.2014 19:08:58
Нужна обрезка Crop