Свободные программы и системы в школе

ОглавлениеДобавить в закладки К обложке

5.4 «ГИМП» – программируемый графический редактор

Вероятно, успехом «ГИМП» не в малой степени обязан своей изначально модульной и программируемой архитектуре. Сам по себе этот редактор – достаточно компактная и простая программа, однако его возможности приумножаются за счет открытости архитектуры и наличия множества модулей (в текущей поставке – около трехсот), реализующих те или иные дополнительные функции, такие как импорт-экспорт сторонних форматов или обработку изображения или его фрагмента по тому или иному алгоритму.

Такие модули можно разрабатывать как отдельные программы с использованием библиотеки GDK, а можно пользоваться одним из встроенных в «ГИМП» интерпретаторов языков программирования. Именно наличие таких интерпретаторов и делает «ГИМП» программируемым графическим редактором. Можно сказать, что его архитектура подобна архитектуре текстового редактора Emacs.

Таких интерпретаторов на сегодня два. Забавное название Script-fu, видимо, следует понимать как английско-китайское выражение, означающее «мастерство сценирования» (напомним, что «сценариями» («скриптами») называют программы, написанные на интерпретируемых языках). Script-fu – это первый встроенный в «ГИМП» интерпретатор функционального языка Схема (Schema), являющегося потомком первого языка функционального программирования Лисп. Разработчик скрипта имеет доступ к многочисленным базовым функциям-графическим примитивам.

Схема – весьма продуманный и стройный язык, однако его методический потенциал не может в полной мере быть раскрыт в сегодняшних курсах информатики в средней школе, программирование в которых вводится в директивной (сентенциональной) парадигме. На Схеме, так же, как и на Лиспе, можно писать в директивном стиле, однако изящества и простоты, столь необходимых в обучении, достичь при этом возможным не представляется.

Директивен другой язык, интерпретатор которого также встроен в «ГИМП». Это Перл (Perl), его «ГИМП»-овская реализация называется Perl-fu. Хороший программист может писать на Перле чисто и аккуратно, однако синтаксис языка сам по себе настолько гибок (чтобы не сказать «жидок»), что, по нашему мнению, Перл совершенно не годится на роль изучаемых в числе первых (хотя существуют и другие мнения, весьма авторитетные).

Добавление в «ГИМП» еще одного интерпретатора (например, алголо– или паскалеподобного языка) не представляется особо сложной задачей, однако о таких проектах ничего не известно, и, наверное, от программирования обработки изображений «внутри» «ГИМП» как от простой в методическом освоении темы большинству педагогов стоит пока отказаться.

Интерактивная функциональность и эргономика

Тем не менее, базовой интерактивной функциональности «ГИМП» (включая доступные модули) вполне достаточно, чтобы покрыть обычно изучаемые в школе вопросы обработки графики.

Рис. 5-1

При запуске «ГИМП» на экране открывается ряд окон (Рис. 5-1). Главное окно содержит меню основных функций, панель пиктографически обозначенных «инструментов» и области, в которых отображаются текущие значения основного и фонового цветов, формы кисти, текущего градиента. Окна изображения соответствуют отдельным открытым графическим файлам (или слоям в них).

Дополнительные инструментальные окна (по какой-то причине названные «диалогами») могут открываться из меню главного окна. Однако их всего десяток («Слои, каналы и контуры», «Параметры инструментов», «Кисти», «Шаблоны», «Градиенты», «Палитра», «Устройства ввода», «Индекс документов», «Консоль ошибок»), а основной массив функций, применяемых к текущему или вновь создаваемому изображению или выбранному участку изображения (включая функции, реализованные внешними модулями-фильтрами) «достаются» через контекстное меню, открывающееся по щелчку правой кнопкой мыши в окне изображения.

Рис. 5-2Рис. 5-3

Зато можно воспользоваться (непривычным для пользователей упрощенных графических сред, таких, как «Майкрософт Уиндоуз») свойством графической библиотеки GTK+, называемым «линия отрыва». Каждое меню наверху содержит пунктирную линию, щелкнув мышью на которой можно превратить это меню в самостоятельное инструментальное окно, сохраняющееся, пока пользователь явным образом его не закроет (Рис. 5-2). Таким образом (учитывая настраиваемость самой системы меню) можно в любой момент создать на экране дополнительные «панели инструментов», содержащие функции, которыми в ближайшее время предполагается воспользоваться. Привыкшему к другому стилю работы пользователю это непривычно, однако, привыкнув, эту интерфейсную особенность можно использовать весьма эффективно.


Логин
Пароль
Запомнить меня