Кто авторы первой версии gimp. Введение. Что такое GIMP и зачем он нужен. Написание плагинов и расширений

Аннотация: GIMP (или The GIMP) - пакет для создания и редактирования растровых изображений (растровый графический редактор), разрабатываемый сообществом разработчиков по технологии разработки с открытым исходным кодом (Open Source) и распространяемый на условиях свободной лицензии GNU (GNU Public License - GPL). GIMP прекрасно подходит для любительской и полупрофессиональной работы с изображениями: обработки фотографий, создания графических композиций и коллажей, создания элементов дизайна web-страниц. Возможности GIMP позволяют обойтись без дорогостоящих коммерческих пакетов растровой графики или их пиратских версий, что особенно актуально в связи с ужесточением защиты авторских прав в России.

1.1 О проекте

Проект GIMP был рождён в 1995 году в университете Беркли (Калифорния). Благодаря открытой системе разработки и актуальности самой задачи создания и развития мощного открытого пакета растровой графики проект очень динамично развивался и развивается до сих пор. Первоначально для графического интерфейса пакета использовалась графическая библиотека Motif , но затем была разработана новая библиотека - GTK (GIMP ToolKit), которая в дальнейшем стала одной из основных свободно распространяемых библиотек для графических интерфейсов (сейчас используется GTK2+).

Важнейшими отличительными особенностями GIMP являются, во-первых, свободная модель разработки и распространения (поэтому проект развивался более 10 лет и будет развиваться и впредь, и новейшие версии общедоступны), во-вторых, кроссплатформенность (GIMP реализован для всех вариантов Linux, всех веток BSD-систем, для MacOS и для MS Windows ), в-третьих, гибкость и расширяемость (имеется как встроенный язык для создания расширений, так и возможности развивать функциональность пакета на языке Python ).

1.2 Версии, лицензии, информационные ресурсы

Начиная с версии 2.0, принят следующий принцип именования версий: если вторая цифра чётная (2.0, 2.4, 2.6. . .), то версия является стабильной и предназначена для массового использования, а если вторая цифра нечётная (2.1, 2.3, 2.5. . .), то это означает, что версия находится в активной разработке и предназначена главным образом для разработчиков и добровольцев-тестеров.

На момент написания этих строк актуальной является версия GIMP 2.4 (модификации 2.4.3 или 2.4.5). Отличия между версиями с различающейся третьей цифрой практически незаметны для пользователей и связаны с оптимизацией внутреннего устройства пакета.

Как уже упоминалось выше, GIMP распространяется по свободной лицензии GPL . Это означает, что он является практически бесплатным (за исключением затрат на время и труд по переписыванию пакета на цифровой носитель или на оплату трафика в случае загрузки из Интернета). GIMP включается практически во все дистрибутивы Linux и может быть установлен в других операционных системах (см. п. 1.1).

Основным сайтом проекта является www.gimp.org , откуда можно скачать актуальные версии пакета для различных операционных систем.

На сайте docs.gimp.org размещена оригинальная ("официальная") документация по пакету - "Руководство пользователя GIMP", созданная самими разработчиками. Эта документация доступна на разных языках, в том числе и на русском, а в случае неясностей всегда можно использовать оригинальный английский вариант.

Несколько статей, касающихся решения отдельных задач при работе в GIMP, имеется на сайте www.linuxgraphics.ru , а на сайте www.progimp.ru собрана большая коллекция материалов, в том числе уроки и галерея примеров произведений, созданных с помощью GIMP.

Следует также упомянуть пакет программ "Свободный офис ", издаваемых компанией "Альт Линукс", в документацию к которому включена брошюра Анатолия Якушина "The GIMP. Редактирование изображений", послужившая одним из толчков к созданию этой книги.

В нескольких номерах журнала LinuxFormat (LXF) публиковался переводной "Учебник GIMP" (LXF 1(70)/2005, стр. 78–81; LXF 2(71)/2005, стр. 80–83; LXF 3(72)/2005, стр. 84–87; LXF 4(73)/2005, стр. 64–67; LXF 2(76)/2006, стр. 78–85; LXF 3(77)/2006, стр. 72–75; LXF 4(78)/2006, стр. 80–83), а обзор особенностей версии GIMP 2.4 и нововведений в GIMP 2.6 можно найти в LinuxFormat 4(91)/2007, стр. 48–54.

1.3 Об этой книге

Эта книга является первым отдельным печатным изданием про GIMP на русском языке. Она не является переводом оригинального "Руководства пользователя" и не является полным и всеохватывающим учебником. Здесь рассмотрены примеры задач, с которыми приходилось сталкиваться автору или которые были ему интересны.

Лекция 5. Графический редактор GIMP.

Общие сведения. История появления и развития. Возможности и функции. Написание плагинов и расширений. Основные принципы работы.

Общие сведения.

GIMP - растровый редактор, свободно распространяемый, с открытым исходным кодом.

Это многоплатформенное программное обеспечение для работы над изображениями. GIMP является акронимом, означающим GNU Image Manipulation Program. Редактор GIMP пригоден для решения множества задач по изменению изображений, включая ретушь фотографий, объединение и создание изображений.

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

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

Одной из сильных сторон GIMP является его доступность из многих источников для многих операционных систем. GIMP входит в состав большинства дистрибутивов GNU/Linux. GIMP также доступен и для других операционных систем вроде Microsoft Windows™ или Mac OS X™ от Apple (Darwin). GIMP - свободное программное обеспечение, выпускаемое под лицензией GPL(General Public License). GPL предоставляет пользователям право доступа к исходному коду программ и право изменять его.

История появления и развития.

История возникновения и развития GIMP начинается с 1995 года. Инициаторами и первыми создателями были два студента из Беркли ‒ Спенсер Кимбелл и Питер Маттис.Их целью было написать аналог программы Photoshop, который обладал бы ее возможностями, но был бы доступным бесплатно. В 1996 году был выпущен первый релиз. Первая же версия стала свободной и распространялась под лицензией GPL. Уже тогда GIMP поддерживал плагины для того, чтобы постоянно не переписывать внутренний код фоторедактора. Первая версия имела лишь основные инструменты для работы с изображениями, но её отличительной особенностью стала возможность работы с цветовыми каналами. Несмотря на недостатки программы, она имела успех ‒ поддержка сообществ, создавались уроки и обучающие материалы, писалась документация.

В 1997 году был выпущен GIMP 0.99. GTK и GDK были значительно доработаны и объединены, а то, что получилось в итоге, получило название Gtk+. Написание и выпуск GTK стал очень важным шагом не только в развитии GIMP, но и других программ с открытым исходным кодом. Последующие релизы этой серии публиковались быстро, между ними не было больших задержек. Спенсеру и Питеру удалось выпустить GIMP 0.99.10 и новый Gtk+ к 9 июня 1997 года. Это был их последний релиз. Все последующие версии разрабатывались и поддерживались другими командами разработчиков.

Возможности и функции.

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

    Разумное использование памяти, при котором размер изображения ограничен только свободным местом на жёстком диске.

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

    Полная поддержка альфа-канала для работы с прозрачностью.

    Слои и каналы.

    Процедурная база данных для вызова внутренних функций GIMP из внешних приложений, таких как «Script-Fu»

    Продвинутые возможности по созданию сценариев.

    Многократные отмена и повтор действий, ограниченные лишь свободным пространством на жёстком диске.

    Инструменты преобразования, включая вращение, масштабирование, искривление и отражение.

    Поддерживаемые форматы файлов включают GIF, JPEG, PNG, XPM, TIFF, TGA, MPEG, PS, PDF, PCX, BMP и многие другие.

    Инструменты выделения, включая прямоугольное, эллиптическое и свободное выделение, «волшебную палочку», кривые Безье и «умное» выделение

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

GIMP - программа, разработанная программистами для Linux. GIMP имеет полностью настраиваемый интерфейс ‒ все кнопки и окошки можно компоновать по желанию пользователя, можно настраивать горячие клавиши. GIMP поддерживает более 30 форматов изображений, работу со слоями, масками, фильтрами, режимами смешивания. Предоставляется большой набор инструментов для создания и редактирования изображений любой сложности. Благодаря наличию хорошей документации и огромному количеству доступных уроков освоить редактор доступно каждому.

Структура GIMP представляет собой набор модулей, взаимосвязанных друг с другом. Модули можно добавлять и изменять.

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

Сами по себе, модули ничего не могут обработать. Ядро программы - графическая библиотека GEGL. Она содержит функции, реализующие обработку изображений. В основе библиотеки ‒ алгоритмы и вся математика. Расширяемость программы реализована также внутри ядра.

GUI (Graphical user interface) в GIMP реализован с помощью библиотеки Gtk+. Она отвечает за то, как программная часть редактора взаимодействует с пользователем. Именно Gtk+ задает внешний вид всех окон, кнопок и других элементов интерфейса. Gtk+ поддерживает различные темы оформления.

Написание плагинов и расширений

Особенностью GIMP является возможность его легко расширять, используя плагины или скрипты.

Плагин ‒ внешняя программа, запускаемая под контролем основной и тесно с ней взаимодействующая.

Скрипт ‒ вариант плагина, являющийся интерпретируемой программой.

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

Языки программирования, на которых можно создавать дополнения для GIMP:

    Си - язык на котором написан GIMP. Был создан для использования в ОС UNIX, но потом был портирован и на другие операционные системы.

    TinyScheme (Script-Fu) - урезанный вариант языка Scheme. Достаточно простой и распространенный язык программирования.

    Python - язык программирования общего назначения с акцентом на легкость разработки и читаемость кода.

    Ruby - язык программирования для быстрого и удобного объектно-ориентированного программирования.

    Perl - язык программирования общего назначения, созданный программистом Ларри Уоллом, лингвистом по образованию.

Основные принципы работы

Изображения

Изображение - основной объект, с которым работает GIMP. Под словом «изображение» подразумевается один файл вроде TIFF или JPEG. Можно мысленно приравнять изображение к окну с ним, но это будет не совсем правильно: можно открыть несколько окон с одним и тем же изображением. В то же время, нельзя открыть в одном окне более одного изображения, а также изображение без отображающего его окна.

Изображение в GIMP может быть достаточно сложным. Наиболее правильной аналогией будет не лист бумаги с картинкой, а, скорее, стопка листов, называемые «слои». В дополнение к стопке слоёв, изображение в GIMP может содержать маску выделения, набор каналов и набор контуров.

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

Слои

Если изображение подобно листу бумаги, то изображение со слоями подобно стопке прозрачных листов. Рисовать можно на каждом листе и видеть содержимое листов под низом сквозь прозрачные места. Каждый лист можно передвигать относительно других. Опытные пользователи GIMP часто работают с многослойными изображениями. Слои могут быть прозрачными и покрывать не всё пространство изображения, поэтому глядя в монитор можно видеть не только верхний слой, но и часть остальных.

Разрешение

Цифровые изображения состоят из сетки квадратных элементов разного цвета, называемых точками (пиксели). У каждого изображения есть размер в точках, на пример 900 точек в ширину и 600 точек в высоту. Но у точек нет фиксированного физического размера. Чтобы настроить изображения для печати, мы используем значение, называемое разрешением, которое определено как соотношение между размером изображение в точках и его физического размера (обычно в дюймах) на бумаге. Большинство форматов могут сохранить это значение, выраженное в ppi (pixel per inch - точки на дюйм). При печати, значение разрешения определяет физический размер изображения на бумаге и, соответственно, физический размер точек. То же изображение 900 на 600 точек можно распечатать с размером 3 на 2 дюйма с едва заметными точками или на большом плакате с большими квадратными точками. Изображения, взятые из цифровых фотоаппаратов и мобильных устройств, обычно содержат значение разрешения. Оно обычно 72 или 96 точек на дюйм. Необходимо осознавать, что это значение произвольное и было выбрано по историческим причинам. Разрешение всегда можно изменить в GIMP, и это не меняет самих точек. Кроме того, при показе изображений в интернете, на мобильных устройствах, в телевизоре или компьютерной игре, разрешение не имеет смысла и игнорируется, и в этих случаях точка изображения соответствует точке экрана.

Каналы

Канал - один компонент цвета точки. Для цветных точек в GIMP эти компоненты обычно красный, зелёный, синий и иногда прозрачность (альфа). Для серого изображения компоненты обычно серый и альфа, а для индексированного цветного изображения они - индекс и альфа.

Весь прямоугольный массив одного из компонентов цвета для всех точек изображения тоже называется каналом. Эти цветовые каналы можно видеть в диалоге Каналы.

При показе изображения, GIMP объединяет эти компоненты вместе, чтобы создать цвет точки на экране, принтере или другом устройстве вывода. Некоторые устройства вывода не используют каналы красного, зелёного и синего. В этом случае GIMP преобразует свои каналы в каналы устройства при выводе изображения.

Каналы находят себе применение при работе с изображением, у которого надо изменить один цвет. Например, если требуется удалить эффект красных глаз у фотографии, то можно работать только с красным каналом.

Каналы можно рассматривать как маски, которые пропускают или блокируют цвет данного канала. Применяя фильтры над информацией канала, вы можете создавать в изображении разные и тонкие эффекты. Простой пример применения фильтра над цветовыми каналами - фильтр Микшер каналов filter.

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

Выделения

Часто при работе возникает необходимость изменить только часть изображения. Для этого существует механизм выделения областей. В каждом изображении можно создать выделенную область, которая, как правило, отображается в виде движущейся пунктирной линии (она также называется «муравьиной дорожкой»), которая отделяет выделенную область от невыделенной. На самом деле, выделение в GIMP несколько сложнее, чем просто разделение пикселов на выделенные и невыделенные. В действительности выделение представляет собой канал в градациях серого, т.е. каждая точка изображения может быть выделенной, частично выделенной и не выделенной вовсе. Пунктирная линия, которой отображается выделение, представляет собой контур при уровне выделения 50%. Вышеупомянутый канал в градациях серого вы всегда можете увидеть, включив отображение быстрой маски.

Научиться эффективной работе с GIMP ‒ значит овладеть искусством правильно выделять нужные области изображения. Поскольку работа с выделениями столь важна, в GIMP реализовано достаточно средств для этого: инструменты создания выделений, операции над выделениями, а также возможность переключения в режим быстрой маски, в котором с каналом выделения можно работать как с обычным цветовым каналом, т.е. «рисовать» выделение.

Отмена действий

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

Расширения

Большинство действий с изображением выполняется при помощи самой программы GIMP. Однако если возможностей редактора не хватает, вы есть возможность воспользоваться дополнениями, которые являются внешними программами, тесно интегрированными с GIMP и умеющими производить сложные операции над изображениями и другими объектами GIMP. В базовом комплекте GIMP есть множество дополнений. Кроме того, можно расширить этот набор самостоятельно, написав нужное дополнение или скачав его из сети. Фактически, написание дополнений (и сценариев) - самый простой способ добавить новые функции в GIMP для тех, кто не входит в основную команду разработчиков.

Все функции из меню Фильтры и многие функции из других меню программы реализованы в виде дополнений.

Сценарии

Помимо расширений, которые являются программами, написанными на языке C, GIMP также может использовать сценарии. Наибольшее количество существующих сценариев написано на языке, который называется Script-Fu и разработан специально для GIMP (он является диалектом LISP-подобного языка Scheme). Кроме того, сценарии для GIMP можно писать на Python, Perl. Это более гибкие и мощные языки в сравнении со Script-Fu, однако, у них есть свой недостаток: они зависят от программ, которые по умолчанию не устанавливаются вместе с GIMP (за исключением Python). Поэтому нет гарантии, что любая версия GIMP будет корректно выполнять эти сценарии.

Последняя версия Состояние Сайт

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 (Mac OS X Lion)

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

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

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

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

Архитектура

GIMP 2.x с интерфейсом GTK+ 2.x

Для построения элементов интерфейса 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

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

Linux

FreeBSD

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

MAC OS X

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

Microsoft Windows

GIMP и Google Summer of Code

В 2006 году команда GIMP приняла участие в программе Google Summer of Code с рядом проектов, из которых удачно были выполнены следующие:

  1. Векторные слои . Работа по его интеграции начата только в конце 2008 года. Ожидается, что конечная реализация будет доступна в версии 2.8.
  2. Аналог Vanishing Point из Photoshop
  3. Аналог Healing Brush из Photoshop . Проект включён в версию 2.4.
  4. Возможность писать сценарии на Ruby . Код находится в собственном дереве SVN
  5. Реализация различных вейвлетных алгоритмов . Исходный код можно найти в реестре расширений GIMP : denoise (подавление шума), ihalf (инвертированное полутонирование), jp2 (поддержка JPEG2000).

В 2008 году команда снова участвовала в программе; успешно завершились четыре из пяти проектов:

  1. Категоризация ресурсов (кистей, текстур и пр.) метками
  2. Набор текста прямо на холсте . Уже доступно в нестабильной версии.
  3. Улучшение разработки сценариев на Python . Проект будет включён в версию 2.10.
  4. Операции в частотной области для GEGL . В проекте использована библиотека, чья лицензия не позволяет включить этот код в основное дерево разработки.

В 2009 году команда успешно выполнила следующие проекты:

  1. Экспериментальные семплеры для GEGL, предназначенные для увеличения и уменьшения размера изображения . Код включён в основное дерево разработки GEGL.
  2. Базовая реализация аппаратно-ускоренных буферов и нескольких операторов GEGL
  3. Реализация уточняющей кисти для инструмента выделения объектов на переднем плане . Включение этого кода запланировано на будущее.
  4. Улучшенный интерфейс для кистевой динамики . Доступно начиная с версии 2.7.1.

В 2010 году успешно выполнены следующие проекты:

  1. Создание операций GEGL для проекции тонов и маттинга, сборка HDR и поддержка RGBE
  2. Создание инструмента трансформации по рамке . Код включён в основную ветку GIMP.

В 2011 году успешно выполнены следующие проекты:

  1. Создание инструмента для внесения искажений (Warp Transform)
  2. Создание инструмента бесшовного клонирования (Seamless CLone) . Доступен в отдельной ветке, запланирован на 2.10.
  3. Новый виджет для ввода размеров . Доступен в отдельной ветке, запланирован на 2.10.
  4. Рендеринг и вычисления на GPU при помощи OpenCL в GEGL . Включено в основную ветку разработки GEGL.
  5. Портирование фильтров GIMP в операции GEGL . Выпущено в составе версии 0.1.8.

Талисман

Вильбер является талисманом GIMP и придуман Туомасом Куосманеном (Tuomas «tigert» Kuosmanen).

Логотипы GIMP с Вильбером

Примечания

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

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

Ссылки

  • gimp.org (англ.) - Официальный сайт GIMP
  • registry.gimp.org (англ.) - Реестр расширений для GIMP
  • на сайте
  • www.gimp.ru (рус.) - официальный русскоязычный сайт о свободном графическом редакторе GIMP.
  • www.progimp.ru (рус.) - неофициальный сайт с большим количеством уроков.
  • www.gimpinfo.ru (рус.) - сайт для начинающих пользователей GIMP

Графический редактор GIMP написан на языке C. Для построения пользовательского интерфейса программа использует библиотеки GTK+ и Cairo.

В современной версии GIMP интерфейс полностью отделён от внутренней логики, а обработка изображений выполняется через библиотеку GEGL, использующую ациклические графы. Для конвертирования пикселов между форматами представления применяется библиотека-словарь babl.

Для начинающих разработчиков есть несколько справочных ресурсов:

  • справка по компилированию ;
  • информация о ;
  • справка по созданию файлов патчей .

Устаревшая справка по API доступна по адресу developer.gimp.org .

Если вы заинтересованы в портировании фильтров GIMP на GEGL, вам помогут эти страницы:

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

Самые актуальные задачи

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

  • порт фильтров GIMP на GEGL;
  • ускорение работы GEGL;
  • порт операций GEGL на OpenCL;
  • разработка нового внутреннего формата файлов.

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

Работа над эргономикой

С 2006 года эргономикой GIMP занимается Петер Сиккинг, руководитель немецкой компании man+machine works. Работа над юзабилити документируется в отдельной англоязычной вики .

Актуальные проекты:

  • интерфейс параметров инструментов (более компактные виджеты);

Кроме того, студенты Петера провели несколько исследований, на основе которых тоже можно доработать интерфейс GIMP:

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

Работа с командой

Основным каналом общения разработчиков является IRC: #gimp на irc.gimp.net. Существенная доля программистов живёт в Европе, однако есть активные участники из США и Новой Зеландии, поэтому просим с пониманием отнестись к тому, что получить ответ можно не сразу.

  • GIMP developer , предназначен для обсуждения разработки GIMP.
  • GEGL developer , в нём обсуждается разработка библиотек GEGL и babl.



Top