GNU Image Manipulation Program или GIMP («Гимп») — растровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой. Проект основан в 1995 году Спенсером Кимбеллом иПитером Маттисом как дипломный проект, в настоящий момент поддерживается группой добровольцев. Распространяется на условиях GNU General Public License.

Изначально сокращение «GIMP» означало англ. General Image Manipulation Program, а в 1997 году полное название было изменено на «GNU Image Manipulation Program», и программа официально стала частью проекта GNU.

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

Позиционирование GIMP

В течение продолжительного времени GIMP создавался с учётом пожеланий пользователей, но в основном согласно предпочтениям разработчиков и без привлечения экспертов по эргономике. Целостное видение проекта отсутствовало. Чтобы решить накопившиеся в результате этого проблемы, был принят ряд мер.

В 2005 году проект GIMP был зарегистрирован участником программы OpenUsability. На конференции Libre Graphics Meeting в марте 2006 года состоялась первая встреча представителей OpenUsability и команды разработчиков GIMP, в ходе которой было определено видение GIMP как продукта для конечных пользователей:

  • GIMP является свободным ПО;
  • GIMP является высококачественным приложением для фоторетуши и позволяет создавать оригинальные изображения;
  • GIMP является высококачественным приложением для создания экранной и веб-графики;
  • GIMP является платформой для создания мощных и современных алгоритмов обработки графики учёными и дизайнерами;
  • GIMP позволяет автоматизировать выполнение повторяющихся действий;
  • GIMP легко расширяем за счёт простой установки дополнений.

Эти тезисы определяют дальнейшее развитие GIMP.

Осенью 2006 года в рамках проекта OpenUsability было проведено исследование, результаты которого постепенно оформляются в виде рекомендаций и спецификаций и реализуются.

Возможности

Традиционно GIMP считается свободным аналогом ряда проприетарных редакторов (чаще всего называется Adobe Photoshop), хотя сами разработчики часто возражают против такой формулировки.

Работа с фотографиями

В GIMP присутствует набор инструментов цветокоррекции:

  • кривые;
  • уровни;
  • микшер каналов;
  • постеризация;
  • тон-насыщенность;
  • баланс цветов;
  • яркость-контраст;
  • обесцвечивание.

При помощи фильтров, инструментов, масок и слоёв с разными типами наложения (всего 22) можно:

  • выравнивать заваленный горизонт;
  • убирать искажения, вносимые оптикой;
  • корректировать перспективу;
  • выполнять клонирование объектов с учётом перспективы;
  • кадрировать фотографии;
  • удалять дефекты вроде пыли на матрице (штамп, лечебная кисть);
  • имитировать использование различных цветофильтров;
  • «вытаскивать» потерянную детализацию в тенях;
  • многое другое.

Реализовано управление цветом.

Рисование

  • несколько рисующих инструментов;
  • свободно масштабируемые кисти;
  • поддержка кистевой динамики;
  • поддержка графических планшетов.

Экранные фильтры

Дополнительные возможности по коррекции изображений на протяжении всей работы реализованы в виде экранных фильтров. К ним относятся:

  • имитация разных типов дальтонизма (протанопия, дейтеронопия, тританопия);
  • гамма-коррекция;
  • коррекция контраста;
  • управление цветом.

Настраиваемый интерфейс

  • плавающие палитры легко группируются и перегруппируются;
  • возможна полная перенастройка клавиатурных комбинаций, действий мыши, а также устройств ввода вроде Griffin Powermate;
  • любое меню можно превратить в свободно перемещаемое окно (Linux/UNIX).

Автоматизация

Отсутствие средств автоматической записи сценариев компенсируется в GIMP большим числом языков, на которых можно писать сценарии:

  • TinyScheme en, иначе Script-Fu (в комплекте с программой);
  • Python (в комплекте с программой);
  • Ruby;
  • Perl;
  • C# (GIMP# — gimp-sharp)
  • Java (экспериментально, часть проекта gimp-sharp);
  • Tcl (в настоящее время не поддерживается).

С помощью этих инструментов можно писать как интерактивные сценарии и модули для GIMP, так и создавать изображения полностью автоматически, например, генерировать «на лету» изображения для веб-страниц внутри программ CGI или выполнять пакетную цветокоррекцию и преобразование изображений. Следует отметить, что для пакетной обработки изображений всё же лучше подходят пакеты наподобие ImageMagick.

Недочёты, их решение и пути обхода

В настоящее время использование GIMP в коммерческом дизайне, полиграфии и фотографии сопряжено с рядом сложностей, а во многих случаях и вовсе невозможно:

  • нет поддержки плашечных цветов (и палитры Pantone);
  • нет полноценной поддержки цветовых моделей, CIELAB и CIE XYZ;
  • нет поддержки режима 16 и более разрядов на цветовой канал;
  • нет поддержки HDRi и операторов отображения тонов;
  • нет процедурных (корректирующих) слоёв и эффектов (стилей) слоёв;

Многие из упомянутых недочётов планируется устранить на втором этапе перехода к использованию библиотеки GEGL.

Существует расширение для экспорта в TIFF с цветоделением в CMYK[7] и цветопробой.

Работа с форматом PDF

GIMP поддерживает импорт и экспорт PDF-файлов при помощи Poppler.

Архитектура

Для построения элементов интерфейса GIMP использует GTK+. GTK+ изначально появился в составе GIMP как замена коммерческой библиотеке Motif, от которой зависели начальные версии GIMP. GIMP и GTK+ первоначально были разработаны для X Window System, работающей в операционной системе, подобной Unix, но с тех пор он был перенесён в Microsoft Windows, OS/2, Mac OS X и SkyOS.

GIMP и прочие программы

FilmGimp/Cinepaint/Glasgow

FilmGimp, теперь называемый Cinepaint — это ответвление от GIMP 1.0.4, с тех пор самостоятельно развиваемое. Cinepaint специально приспособлен для раскраски и ретуширования видео кадров с использованием менеджера кадров и «слоёв луковицы». Глубина представления цвета увеличена до 32 разрядов с плавающей точкой на канал вместо 8, как у GIMP. Файлы, создаваемые Cinepaint, несовместимы с GIMP, главным образом, из-за разницы в поддерживаемой глубине цвета. По той же причине GIMP не поддерживает кисти и текстуры Cinepaint.

В течение некоторого времени Cinepaint полностью переписывался под именем Glasgow. В феврале 2007 года была выпущена альфа-версия продукта.

GIMPshop

GIMPshop является форком GIMP, созданной для пользователей Adobe Photoshop с целью упростить миграцию. GIMPshop является продуктом стороннего разработчика, не являющегося членом команды GIMP.

Изменения GIMPshop относительно GIMP:

  • реорганизация меню и переименование пунктов меню до соответствия c меню Adobe Photoshop
  • клавиатурные комбинации Photoshop, используемые по умолчанию
  • в версии для Windows используется расширение, помещающее окна с изображениями внутрь одного окна (MDI-интерфейс).

Seashore

Seashore — редактор растровой графики на основе GIMP для Mac OS X, переписанный на Cocoa и использующий тот же формат файлов. Разработчики Seashore принципиально удалили ряд инструментов, чтобы сделать программу максимально лёгкой и не пытающейся конкурировать с более «тяжёлыми» программными продуктами.

Adobe Photoshop

GIMP может использовать данные в различных форматах Adobe Photoshop (наиболее известного профессионального растрового редактора):

  • файлы в формате PSD (с ограничениями);
  • файлы кистей (почти все версии, но без поддержки динамики);
  • действия (actions), за счёт gimp-sharp (порядка 50 % действий);
  • расширения в формате 8bf — проект PSPI

GIMP в разных операционных системах

Linux

GIMP может быть найден в репозиториях большинства популярных дистрибутивов Linux: Ubuntu, Fedora, openSUSE и др.

FreeBSD

GIMP входит в состав коллекции портов FreeBSD.

MAC OS X

Существует сборка GIMP для MAC OS.

Microsoft Windows

В 1997 году финский программист Tor «tml» Lillqvist начал перенос GIMP (вместе с библиотекой GTK+) на платформу Microsoft Windows.

В настоящий момент версия GIMP для Windows почти идентична исходной по возможностям и стабильности. С появлением готовых установочных пакетов, скомпилированных Jernej Simoncic, процесс установки заметно упрощён.

Использование GIMP под Windows может быть неудобным из-за использования программой нескольких окон (панель инструментов, окна изображений, панель цветов, кистей, слоёв и т. д.). Опциональный однооконный интерфейс доступен с версии 2.8.

GIMP и Google Summer of Code

С 2006 года команда GIMP принимает участие в программе Google Summer of Code. В рамках GSoC были реализованы такие функции, как:

  • инструменты Heal (v2.4), Perspective Clone (v2.4), Cage Transform (v2.8), Seamless Clone (Git), Warp Transform (Git), Unified Transform (Git);
  • базовая реализация векторных слоёв (принят только бэкенд);
  • возможность писать сценарии на Ruby — доступно отдельно;
  • категоризация ресурсов (кистей, текстур и пр.) метками, улучшенный интерфейс для кистевой динамики (v2.8);
  • набор и форматирование текста прямо на холсте (v2.8);
  • экспериментальные семплеры для GEGL, предназначенные для увеличения и уменьшения размера изображения (GEGL v0.2);
  • вычисления и рендеринг на GPU с помощью OpenCL (GEGL v0.2);
  • операции GEGL для проекции тонов и маттинга, сборка HDR из вилки экспозиции, поддержка RGBE (GEGL v0.2).

В рамках Google Summer of Code 2013 готовится единый инструмент выделения, инструмент трансформации по точкам, улучшение поддержки PSD и портирование операций GEGL на OpenCL.

Библиография

  • И. А Хахаев Свободный графический редактор GIMP: первые шаги. — ДМК-пресс, сентябрь 2009. — 232 с. — 1000 экз. — ISBN 978-5-9706-0042-2