Обзоры
Методы работы с альфа-каналами
0

Методы работы с альфа-каналами

С явлением, о котором пойдет речь в этой статье, сталкивается каждый, кто использует
компьютер в повседневной жизни. Благодаря ему рабочие столы различных ОС выглядят
более красочно, Web-странички принимают вид профессиональных пользовательских
интерфейсов, а печатные издания пестрят затейливыми коллажами. И все это за счет
возможности создавать изображения любой формы с помощью альфа-каналов, о методах
работы с которыми мы и попытаемся рассказать в этом небольшом обзоре. Ну что ж,
а начнем мы, как говорят, ab ovo…

Немного теории

Известно, что все растровые элементы (пиктограммы, bitmaps) представляют собой в памяти прямоугольную матрицу пикселов, где каждый из них задается в виде числа (или нескольких чисел), определяющих его цвет. К сожалению, такого цвета, как "прозрачный", не существует в принципе. Поэтому для создания эффекта прозрачных элементов (и как следствие — использование изображений произвольной формы) и был придуман процесс маскирования.

В самом простом случае маска создается из какого-нибудь цвета, присутствующего в изображении. Такой подход чаще всего применяется для 8-битовых изображений, имеющих палитру. В качестве классического примера можно привести формат Compuserve GIF. При описании списка оттенков один из них получает статус прозрачного, и впоследствии пикселы такой окраски броузером не отображаются. Аналогично "работают" пиктограммы и изображения на кнопках, используемые MS Windows (впрочем, другие ОС тоже не отличаются оригинальностью).

Другой метод заключается в том, что маска сохраняется отдельно, в так называемом альфа-канале файла. Если в канале каждому пикселу рисунка соответствует 1 бит, то говорят о маске с жесткими краями. Так, например, устроены 8-битовые текстуры для трехмерных игр. Гораздо больший интерес представляют альфа-каналы с разрядностью 2 и более бит (чаще всего она равна 8). С их помощью можно делать эффекты полупрозрачных пикселов. Они находят свое применение при создании коллажей, а также в текстурах высокого разрешения для игр и трехмерного моделирования.

Использование 8-битовых альфа-каналов считается одним из основных достоинств формата PNG, в данный момент претендующего на стандарт изображений для Web. К сожалению, пока не существует ни одного броузера, который может корректно отображать такие маски.

Еще один способ выделить часть изображения — создать маскирующий путь. Он представляет собой кривую Безье, сохраняющуюся в специальном разделе файла. Основное достоинство такого метода — возможность безболезненно масштабировать маску вместе с рисунком. Правда, этот подход в основном используется при подготовке печатных изданий, поскольку является главным средством маскирования в языке PostScript.

Создание простых масок на основе ключевого цвета — совсем несложная задача, и, в принципе, она не требует специальных средств. Значительно труднее выделить часть изображения неправильной формы со множеством мелких деталей. Для того чтобы облегчить дизайнерам работу, существует несколько программ, небольшой обзор которых мы предлагаем.

Adobe
Photoshop 5.5


Этот пакет в особом представлении не нуждается и известен, пожалуй, всем, кто сталкивался с редактированием и обработкой растровых изображений. Для описания всех его функций издаются многостраничные книги, а в этой статье мы кратко рассмотрим его возможности, касающиеся создания масок.

Экран
1
Три стадии работы Photoshop
Extract (слева направо): исходное изображение, создание маски, preview

С помощью инструментов серии Marquee можно выбрать область простой геометрической
формы — овальной или прямоугольной. Для селекции произвольного участка служат
инструменты серии Lasso, и здесь только один из них можно назвать в определенной
степени интеллектуальным — Magnetic Lasso. При выделении им объектов переднего
плана, резко контрастирующих с фоновыми, он интерполирует границу маски, чтобы
она как можно лучше "облегала" объект.

Если область, которую необходимо выделить, по цветовой окраске сильно отличается от фона, то лучше воспользоваться командой Color Range из меню Select, где, указав несколько основных оттенков, а также степень их разброса, вы получите нужную маску. Впоследствии, войдя в режим Quick Mask, можно отредактировать ее вручную, с помощью обычных инструментов рисования Brush, Pen, Eraser и др, а затем превратить в обычный альфа-канал.

Однако в новой версии известного пакета появилась и специальная команда для создания сложных масок — Extract. Алгоритм ее работы построен на автоматическом определении цветов заднего и переднего планов изображения. Для этого необходимо вручную, с помощью кисти, указать границу между выделяемым объектом и фоном, а затем командой Fill "залить" выделяемый элемент. Чтобы операция завершилась успешно, контур выделения дожен быть замкнутым. Небольшой совет: в процессе выделения контура рекомендуется варьировать размер кисти в зависимости от ширины "переходной" зоны — таким образом можно добиться наилучших результатов.

Extensis
Mask Pro 2.0

Экран
2
Интерфейс Extensis Mask Pro:
предварительный просмотр маски выполняется непосредственно в процессе работы
(слева)

У компании Extensis присутствует целый набор plug-ins для Photoshop, выполняющих
различные функции. В данной статье описывается всего один из них — под названием
Mask Pro. Это довольно мощный инструмент, использующий усовершенствованный алгоритм
отделения контрастных элементов. В целом идеология работы с ним аналогична Extract
с той лишь разницей, что здесь, кроме использования обычных инструментов Magic
Brush
и Magic Fill, можно управлять автоматическим определением цветов
заднего и переднего плана посредством ручного их выбора. Для этого служат инструменты
Keep Eyedropper Tool и Drop Eyedropper Tool. После выбора цвета
располагаются в палитрах Keep и Drop соответственно, где они доступны
для редактирования — удаления, объединения в группы и пр. Также, в отличие от
Extract, у Mask Pro гораздо больше средств управления кистями — изменяется
их жесткость, существуют размытые края.

Еще одно преимущество Mask Pro по сравнению с Photoshop — непосредственный просмотр создаваемой маски и многоуровневый откат команд. Таким образом, результат любого действия можно увидеть немедленно и отменить его, в то время как при использовании Extract пришлось бы изменять параметры и снова создавать preview.

Corel
KnockOut 1.5

Экран
3
Маска для стеклянного стакана,
созданная в Corel KnockOut: слева — оригинал, справа — альфа-канал

Это первая версия продукта для Windows. Ранее он принадлежал компании Ultimatte
и выпускался исключительно в Macintosh-варианте, но после того как оказался в
руках у Corel, список платформ пополнился. Отдельных слов заслуживает и компания—создатель
программы — Ultimatte. Она была основана еще в 1976 г. Петро Влахосом (Petro
Vlahos), голливудским специалистом по спецэффектам, человеком, придумавшим известный
трюк — "синий экран", который положен в основу принципа работы всех
существующих виртуальных студий. Эффект заключается в том, что действия с участием
реальных актеров происходят на равномерном синем фоне, а впоследствии с помощью
специального оборудования этот фон удаляется и на его место помещается любой другой,
зачастую самый фантастический. Первоначально его компания как раз и занималась
выпуском такого оборудования. Но в 1995 г. среди ее продуктов появилось и программное
обеспечение.

Программа KnockOut 1.5 является самой "продвинутой" из всех, представленных в обзоре. Примеры, поставляемые с ней, впечатляют — она легко справляется даже с такой нетривиальной задачей, как создание масок для полупрозрачных предметов (например, стеклянных стаканов)!

Основные инструменты — Inside Object и Outside Object — аналогичны Mask Pro и Extract, но имеют гораздо больше тонких настроек. При удержании клавиши Ctrl и тот и другой переключаются в режим Push-in — попиксельного выделения необходимых цветов. Для присоединения к маске тени от объекта служат Shadow Inside и Shadow Outside. Еще одна пара пиктограмм — Inside Syringe и Outside Syringe — позволяет определять слабые оттенки в "переходной зоне" между фоновым изображением и выделяемым объектом, там, где нет возможности воспользоваться другими средствами. Перед генерацией маски необходимо задать параметр Transition Complexity — он указывает программе степень присутствия в переходной зоне фоновых цветов по отношению к выделяемой зоне. По окончании всех операций изображение вместе с маской нужно сохранить в одном из предлагаемых форматов — TIFF, PSD или CPT.

Проведенное небольшое тестирование показало, что наиболее приемлемые результаты
получаются при использовании Corel KnockOut, однако ей присущи свои недостатки.
Как и всякая первая версия, пока она работает нестабильно — частые зависания,
отключения прорисовки экрана, непомерный расход памяти создают немало сложностей
при работе (все вышесказанное, безусловно, относится к PC).

К несомненным достоинствам Mask Pro можно отнести его выполнение в виде плагина
ко всем основным растровым редакторам, поскольку использование KnockOut с изображениями,
которые нуждаются в дополнительной обработке, приводит к значительным затратам
времени. Ну а в пользу Extract, безусловно, говорит тот факт, что для его приобретения
не требуется дополнительных средств, а для решения большинства повседневных проблем
он вполне подходит.


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: