Основное назначение
[QUOTE]Можно поставить компонент на страницу, указать путь до изображения которое нужно обработать и применить параметры из списка выше. [/QUOTE]
Но в компоненте также предусмотрено использование его в других компонентах, типа news, photo, catalog...
И взаимодействие с инфоблоками возможно только на этом уровне. Оригинальные фото не изменяются, компонент создаёт копию, применяя параметры и сохраняя в указанном месте.
Модуль в данном случае используется для указания глобальных параметров, например для того чтобы в каждом компоненте не указывать путь до ватермарка или путь до шрифта, они указываются в настройках модуля и применяются как значения по умолчанию во всех компонентах. Многое станет понятно если посмотреть фото в первом посте.
[B]Использование компонента.[/B]
Результатом работы будет обработанное фото:
- пропорционально сжатое до 150X150 пикселей из оригинала "test.jpg"
- с наложенным фильтром "grayscale" - черно-белый фильтр
- сохраненное в папке "/upload/imager/"
- качество 90%
- с водяным знаком из файла - "watermark.png"
- водяной знак будет выровнен по центру по горизонтали и по вертикали
- с уголками и рамкой из файла - "/images/corner.png"
- с надписью "WWW.SITE.RU" шрифтом "arial.ttf" 12 пикселей черного цвета
[CODE]<?$APPLICATION->IncludeComponent(
"soulstream:imager",
"",
Array(
"MODE" => "1",
"RETURN" => "template",
"FILTERTYPE" => "grayscale",
"IMAGE" => "/imager/test.jpg",
"SAVE_DIR" => "/upload/imager/",
"WIDTH" => "150",
"HEIGHT" => "150",
"BG" => "",
"QUALITY" => "90",
"ADD_WATERMARK" => "Y",
"WATERMARK_PATH" => "/images/watermark.png",
"WATERMARK_POSITION" => "mc",
"ADD_CORNER" => "Y",
"CORNER_PATH" => "/images/corner.png",
"ADD_TEXT" => "Y",
"TEXT" => "WWW.SITE.RU",
"TEXT_SIZE" => "12",
"TEXT_COLOR" => "#000000",
"TEXT_TOP" => "50",
"TEXT_LEFT" => "20",
"TEXT_ANGLE" => "25",
"FONT_PATH" => "/fonts/arial.ttf",
"CACHE_IMAGE" => "Y",
"DEBUG" => "N"
),
false
);?>[/CODE]
[B]Для разработчиков. Дополнительные возможности[/B].
Интеграция с другими компонентами. Пример файла "result_modifier.php" для news.list.
Особый параметр "Результат работы компонента" (RETURN) имеет 3 режима, в режиме "array" - компонент ничего не выводит а возвращает массив данных (путь до обработанного фото, высоту и ширину), а при режиме "src" - только путь:
[CODE]<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
foreach($arResult["ITEMS"] as $key=>$arItem)
{
if(is_array($arItem['PREVIEW_PICTURE']))
{
$arItem['PREVIEW_PICTURE'] = $APPLICATION->IncludeComponent("soulstream:imager","",
Array(
"MODE" => "4",
"RETURN" => "array",
"IMAGE" => $arItem['PREVIEW_PICTURE']["SRC"],
'WIDTH' => '200',
'HEIGHT' => '200',
)
);
$arResult["ITEMS"][$key] = $arItem;
}
}
?>[/CODE]