Часть 49. Создание фильтров для Photoshop
Зачем ограничивать себя существующим набором фильтров, когда можно создать собственные? Мы расскажем, как сделать девять новых фильтров с помощью модуля Filter Factory. Создание собственных фильтров — вовсе не такое сложное дело, как может показаться. На этот раз мы поработаем с модулем Filter Factory, который находится на установочном диске Photoshop. Стряхните с него пыль, загрузите и перетащите FFactory (из папки Goodies/Optional Plug-Ins/FFactory) в свою папку Plug-Ins. Не забудьте также примеры и документацию. Модулю Filter Factory достаточно столько познаний в математике, сколько вы готовы предложить сами. Если вам нужен простой фильтр, достаточно будет элементарных функций удаления цветового канала, смещения или усреднения пикселов изображения-источника. Но окунувшись глубже в программирование, вы сможете создать именно такой фильтр, какой вам необходим. Возможно, Filter Factory не способен создавать таких чудес, как KPT, но если вас не удовлетворяет стандартный фильтр Emboss или вы хотите чего-то нового, то этот модуль окажется весьма полезным. Работает он только в режиме RGB, поэтому градации серого, индексированные цвета, CMYK, 16-битовый режим будут недоступными.
1. Цветовой градиент
В первую очередь посредством манипуляций цветовыми каналами и изменения значений пикселов RGB мы создадим фильтр цветового эффекта.
- Чтобы изменить текущие значения, задайте каждому каналу свой регулятор: r превращается в r + регулятор 0, g — в g + регулятор 1, а b — в b + регулятор 2. Для ограничения диапазона, а также для изменения цвета на противоположный используйте val(). Для повышения значений от 0 используйте ctl(n).
- Для осветления изображения добавьте дополнительную величину — можно использовать максимум r/g/b или, наоборот, минимум (r,min(g,b)), среднее rgb или радиальное увеличение + m.
- Градиент применен для подавления интенсивности цветового смещения. Для вертикального градиента используйте у, а для горизонтального — х или варианты вроде х+у или х+х%10, образующие разные типы градиентов. Для радиального градиента вместо х и у используются d и m.
2. Тиснение
Filter Factory позволит вам создать собственный эффект тиснения.
- Для получения эффекта тиснения нам понадобится оригинальное изображение-источник и то же изображение, но слегка смещенное. Настоящее тиснение должно быть более аккуратным, а здесь это выглядит довольно грубо. Назначьте компонентам х и у источника регуляторы и произведите вычитание из оригинала.
- С изображением-источником, а также для инверсии или усреднения пикселов источника можно использовать функцию Mix. В данном случае разные регуляторы создают различные варианты смешения цветов RGB, образуя разнообразные эффекты тиснения.
- Для создания тиснения с преобладанием серого здесь применено усреднение пикселов. Среди других вариантов — инвертированное тиснение, тиснение со случайным смешением, тиснение с регулируемой глубиной за счет изменения параметров пикселов или угла освещения.
3. Рельефное стекло
Следующий фильтр дает такой эффект, будто изображение находится за рельефным стеклом.
- Очень полезным для включения в любые фильтры является оператор %. С помощью функции src источник сдвигается по осям х и у. Это означает, что смещение в пределах всего изображения повторяется с циклом от 0 до 20, образуя плиточный, мозаичный эффект или эффект текстурированного стекла.
- Комбинация оригинального изображения-источника с мозаичной версией образует эффект рельефных или размазанных блоков. Здесь использованы седьмой и восьмой регуляторы (остальные для следующего шага). Для программирования восьмого регулятора используйте ctl(7), так как регуляторы начинаются с 0.
- Вместо задания одного и того же действия для всех каналов здесь использованы регуляторы 0 и 1 для смещения красного канала по осям х и у, регуляторы 2 и 3 — для зеленого канала, а 4 и 5 — для синего. Кстати, величина 20 абсолютно произвольная и в зависимости от размера изображения может быть заменена, например, на 100. Для создания радиального или искривленного варианта стекла используйте в качестве множителя /?factor/ Х (ширина изображения) или d и m.
4. Серое изображение
Этот фильтр выполняет усреднение цвета пикселов, создавая эффект градаций серого.
- Чтобы сделать изображение серым, необходимо усреднить каналы RGB. Выполнить это можно по-разному. В данном случае к rgb применен дополнительный множитель /?factor/. Если вы используете r+g+b, разделите это на 3, но здесь лучше воспользоваться регулятором, чтобы можно было варьировать яркость.
- Помимо использования оригинального изображения для придания результату зернистости или элемента случайности, каналы источника дополнены функцией rnd(). Диапазон случайности управляется восьмым регулятором (регулятор 7) и вводится как ctl(7).
- Чтобы интенсивность изменения цвета была не так заметна, к изображению применяется градиент. Для вертикального градиента используйте у, а для горизонтального — х. Или варианты вроде х+у или х+х%10, образующие разные типы градиентов. Для радиального градиента вместо х и у используются d и m.
5. Линии
Следующий фильтр сродни оп-арту: прямые линии, клетки, яркие текстуры.
- Линии создаются с помощью функции sin(). Для создания вертикальных линий модифицируйте функцию sin(), определив расстояние пиксела слева (х), и воспользуйтесь регулятором. Чтобы увеличить число линий, повысьте значение, задаваемое первым регулятором.
- Для создания горизонтальных линий воспользуйтесь осью у. Если вычесть sin(x*ctl(0)) из sin(y*ctl(1)), получатся размытые пятна. Для образования эффекта клеток перемножьте эти значения. Чтобы получить диагональные линии, используйте х и у совместно, например x-y или X-x-y.
- Чтобы создать цветные линии или клетки, задайте разные значения ctl() для х и у в каждом канале. Это можно распространить на эффекты диагонали, деформации, радиальные и т.д.
6. Негатив/инверсия
В качестве следующего эффекта мы инвертируем изображение и смешаем его с оригиналом.