СОФТЕРРА: Программа-хамелеон: Свободный редактор с переднего края прогресса

We use cookies. Read the Privacy and Cookie Policy

СОФТЕРРА: Программа-хамелеон: Свободный редактор с переднего края прогресса

Автор: Сергей Токарев

Хамелеон умело маскируется под окружающую среду, растворяясь на фоне ветвей и листвы [Вообще-то, хамелеоны меняют свой цвет скорее в зависимости от состояния, а не для маскировки, но не будем лишать автора этой образной метафоры. — И.Щ.]. Графический редактор Krita не может маскироваться под природные объекты. Зато он может быстро превратиться в редактор диаграмм или текстовый процессор, а то и еще во что-нибудь. Признаться, я и сам не ожидал такого от скромного бесплатного редактора, входящего в состав пакета KOffice версии 1.6 для Linux.

Вдобавок Krita умеет работать с HDR-изображениями и поддерживает разнообразные цветовые пространства — а это, между прочим, не по зубам даже GIMP — сегодняшнему лидеру среди свободных графических редакторов.

Прыжок в хайтек

Создатели программы в качестве источника своего вдохновения упоминают бесплатный GIMP, коммерческий Corel Painter и несколько других, менее известных редакторов. Правда, в отличие от своих прародителей, Krita пока живет только под Linux [На странице www.koffice.org/download/kofficelivecd.php лежит образ демонстрационного LiveCD KOffice 1.6, загрузившись с которого можно полюбоваться на Krita и другие программы пакета, не устанавливая Linux на компьютер. — И.Щ.] (рис. 1).

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

В первую очередь отметим поддержку цветовых профилей, которые обеспечивают более или менее одинаковое отображение графики на разных мониторах. А если речь идет о полиграфии, то управление цветом теоретически может свести к минимуму разницу между изображением на экране и отпечатком в типографии (или на принтере). Это особенно интересный момент, так как Krita поддерживает работу в цветовом пространстве CMYK, который как раз и используется при подготовке изображений для печати (рис. 2).

Теоретически уже сегодня Krita может использоваться дизайнерами для полиграфии под Linux. И это серьезный плюс, так как тот же GIMP, к примеру, такими возможностями не обладает.

Но полиграфический дизайн — занятие элитное. А вот цифровая фотография стала воистину массовым увлечением. Причем тут цифровая фотография? А при том, что Krita может работать с HDR-изображениями.

Напомню, что HDR (High Dynamic Range) — это технология, позволяющая сохранять и обрабатывать изображения с широким динамическим диапазоном, то есть большим отношением между светлыми и темными участками картинки [Подробнее о HDR см. статью Максима Стеклова «Из света в тень» («КТ» #638)]. Для получения HDR-изображения можно использовать брэкетинг, собирая из нескольких снимков, сделанных с разной экспозицией, одну HDR-картинку. Другой вариант — сразу снимать на цифровой камере в формат RAW, динамический диапазон которого больше, чем у обычного снимка.

В любом случае, полученное изображение будет иметь повышенную глубину цвета — 16 бит на один канал при работе с RAW и 32 бита для «настоящего» HDR (стандартная глубина цифровых фото составляет 8 бит на канал). Не каждый графический редактор позволяет работать в таком режиме, но Krita здесь на высоте — он поддерживает и 16-битный, и 32-битный цвет. Также он умеет работать с некоторыми RAW-файлами и поддерживает профессиональный HDR-формат OpenEXR.

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

Кривые

Основа фильтра — кривая перераспределения яркости. В начале она выглядит прямой под углом в 45 градусов. По горизонтальной оси откладывается яркость пикселов в текущем изображении, по вертикальной — в измененном. Впрочем, в некоторых программах этот порядок меняется, но его всегда можно угадать по полоскам черно-белого градиента, идущим вдоль осей.

Работа с кривыми происходит следующим образом. Если нужно изменить яркость всех светлых участков, то следует поставить точку на прямой в левом верхнем углу диаграммы. Если нужно изменить яркость только темных — в правом нижнем. Если только участков со средней яркостью — на середине диаграммы. (В отличие от Gimp и Photoshop, в Krita нельзя, «ткнув» в какое-то место на картинке, получить соответствующую этому участку точку на кривой, что затрудняет работу работу с инструментом. — И.Щ.)

Затем, если выбранные участки нужно сделать ярче, точку следует перетащить вверх. Если темнее — соответственно вниз. Вот и вся премудрость. Остается только добавить, что количество точек на кривой может быть произвольным, а для изменения цвета достаточно менять яркость в отдельных цветовых каналах. В Krita в фильтре Color Adjustments работа изначально идет в каком-то выбранном цветовом канале, а для упраления общей яркостью изображения нужно использовать инструмент Brightness/Contrast.

Фильтры и коррекция цвета

Всевозможными фильтрами Krita пока небогата. Здесь нет той роскоши, которой могут похвастаться GIMP или Photoshop. Впрочем, самые необходимые вещи, которые могут пригодиться при обработке фотографий, все же имеются. Это фильтры для усиления резкости (Unsharp Mask и Sharpen), а также регулировка яркости/контраста (Brightness/Contrast) и общая цветокоррекция (Color Adjustments).

Color Adjustments является аналогом широкоизвестного инструмента Curves («Кривые»), который можно встретить во многих фоторедакторах. Кривые — это самый мощный и универсальный инструмент цветокоррекции, который позволяет менять не только цвет, но и яркость и контраст. Грубо говоря, с его помощью можно выбирать на фотографии участки определенной яркости и цвета и затемнять их или делать ярче.

Krita можно упрекнуть в скудости простых режимов цветокоррекции (например, «Уровни» [Levels] здесь отсутствуют как класс), но если честно, то и одного инструмента для работы с кривыми вполне достаточно. Правда, людям, впервые с ним сталкивающимся, порой бывает непросто понять принцип его работы — но эта трудность преодолима, а с пониманием приходит и осознание того, что другие фильтры цветокоррекции вообще излишни. В бытность свою дизайнером я встречал людей, которые все операции по изменению цвета предпочитали делать именно в «кривых».

С фильтрами Krita очень удобно работать в так называемой «галерее фильтров», где можно перебирать разные эффекты, менять настройки и тут же переходить к следующему фильтру, если предыдущий чем-то не подошел. Правда, в галерее участвуют не все доступные фильтры. Некоторые из них все-таки придется вызывать через меню. Среди таких упрямцев — в основном простые и не очень «презентабельные» фильтры, чья работа может показаться почти незаметной, как, например, Unsharp Mask (наведение резкости).

Среди интересных художественных фильтров упомянем RainDrops («Дождевые капли», рис. 3). Из собственной практики знаю, как часто клиентами бывает востребован эффект капелек на стекле и прочих поверхностях. С помощью RainDrops генерация подобных артефактов становится делом быстрым и приятным. Радиус, количество и оптический эффект капелек настраиваются в широких пределах, так что можно создавать самые разные картины — от гигантских бульб до тонкой изящной росы.

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

Но еще большее утешение могут предоставить нам слои Krita, которые обладают одним уникальным и нигде больше не встречающимся преимуществом.

Слои

Хороший фотоколлаж, подобно торту с императорским именем, собирается из слоев. И чем больше слоев, тем вкуснее итог. Современные программы для редактирования изображений уже немыслимы без этого инструмента. И Krita в этом отношении не исключение. Слои в нем не только есть, но и отличаются весьма развитой мускулатурой.

Всего имеется четыре типа слоев: обычный, групповой, коррекционный, объектный. Первый используется для размещения изображения или его фрагментов. Второй, подобно папкам файловой системы, предназначен для упорядочивания всех прочих слоев. Третий тип — коррекционные слои — работает в качестве «живых» цветофильтров, действие которых можно настроить или отменить в любой момент (рис. 4). Ну а четвертый тип слоев — объектный — является сущим венцом творения и уникальной функцией Krita. Особенность их в том, что в объектном слое может храниться любой (то есть вообще любой) документ KOffice. А это и векторная графика, и диаграммы, и текстовые документы, и математические формулы, и даже базы данных. Впечатляет?

На словах — да! На практике внедрение документов в Krita несколько ограничено: во-первых, прозрачностью фона, а во-вторых — целесообразностью. Скажем, зачем в дизайне может понадобиться документ из базы данных? Разве что в качестве сопроводительной информации. С практической точки зрения в качестве объектного слоя имеет смысл внедрять документы, имеющие некоторую визуальную ценность. К примеру, диаграммы, формулы, векторную графику. Как раз то, чего в Krita и не хватает.

Еще до знакомства с программой я узнал, что многие ставят ей в упрек отсутствие редактируемых векторных и текстовых объектов. А познакомившись с Krita, понял, что этот недостаток вполне можно компенсировать объектными слоями. Поэкспериментировав с ними, я обнаружил, что лучше всего на роль векторной графики подходят документы, составленные в редакторе диаграмм Kivio. Также можно использовать документы из векторного редактора Karbon, но его объекты, к сожалению, вставляются в Krita вместе с белым фоном.

А вот диаграммы Kivio сохраняют прозрачность и годятся для создания небольших векторных объектов. К примеру, я создаю группу звезд сначала в Kivio, затем открываю свою фотографию в Krita и добавляю векторный документ в качестве объектного слоя. В любой момент, когда мне захочется изменить звезды, я могу щелкнуть мышкой по объектному слою, и — вуаля! — Krita превратится в векторный редактор (рис. 5). В буквальном смысле слова — Krita полностью переймет привычки и интерфейс Kivio, и только в заголовке окна сохранится истинное имя программы. Аналогичным образом происходит редактирование объектного слоя и на базе других документов KOffice — Krita просто трансформируется в подходящий редактор с шустростью хамелеона, меняющего окраску.

Будем честны — при всех впечатляющих возможностях, которые открывают объектные слои, их реализация пока далека от идеала. Так, у объектных слоев поддерживается только изменение прозрачности стандартного типа (от стопроцентной до нулевой видимости). У обычных слоев тип прозрачности можно выбирать из четырнадцати режимов наложения. К примеру, в режиме Darken в слое остаются видимыми только темные участки. Объектным слоям такое богатство пока недоступно.

Также мешает отсутствие сглаживания у графики в объектном слое. Пиксельные зубцы по краям векторных объектов заметны невооруженным глазом. Это, правда, не столько недостаток Krita, сколько векторной графики в других программах KOffice.

Объектные слои и OLE

Идея внедренных объектов, используемая в KOffice вообще и в Krita в частности, отнюдь не является революционной. Задолго до появления Krita похожий механизм появился в Windows под названием OLE (впоследствии он был переименован в ActiveX). Суть такая же — любой документ одного приложения может быть целиком внедрен в документ другого приложения. Для редактирования внедренных объектов программа-хозяин получает интерфейс нужного приложения или вызывает его в отдельном окне. Однако в растровых графических редакторах эта технология практически не используется. В частности, не использует OLE и Adobe Photoshop. Так что среди растровых редакторов Krita стала, по сути, первой ласточкой, используя чужие документы в качестве внедренных объектов. Сумеют ли разработчики реализовать весь потенциал этой идеи — покажет время и будущие версии Krita.

Будущее, или Krita 2.0

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

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

Кому может быть интересна Krita?

Логичнее всего сравнивать Krita с ее ближайшим «конкурентом» из числа бесплатных графических редакторов — GIMP. Я использовал кавычки, ибо среди свободно распространяемых программ конкуренция довольно условна. Никто и ничто не мешает установить и использовать сразу обе программы. Но возможно, что именно свобода и создает настоящую конкуренцию, когда победителя выбирают по его достоинствам, а не из-за недостатка звонкой валюты. Поэтому поставим вопрос ребром: чем может привлечь Krita, если уже есть GIMP? На мой взгляд, своей «офисной» ориентацией. Начиная с более близкого к стандартному и привычного для многих интерфейса.

Не секрет, что ориентация GIMP на плавающие окна и контекстное меню может вызвать у неподготовленных пользователей ступор, переходящий в кому. А в Krita все на ладони, все доступно через меню или кнопки, а за панелями не приходится гоняться, продираясь через посторонние окна. Объектные слои Krita позволяют укладывать штабелями любые документы KОffice, и пользователи последнего наверняка оценят это по достоинству. В самом деле, где еще можно так легко внедрить в фотоколлаж блок-схемы, график экономического роста или план эвакуации из здания?

Конечно, по количеству фильтров и инструментов Krita пока отстает от GIMP, и намного. Да, у нее есть преимущество — управление цветовыми профилями и поддержка 16/32-битных изображений. Однако такая функциональность есть и в CinePaint, а также обещается в новых версиях GIMP на ядре GEGL.

Но для тех, кто работает с KOffice, редактор Krita может стать оптимальным выбором. Особенно если возникнет потребность в «смычке» дизайна и офисных документов. Тут у Krita вряд ли вообще будут конкуренты под Linux.