Свободные программы и системы в школе
Добавить в закладки К обложке
- Введение. Зачем программам быть свободными? - Страница 1
- 0.1 Право и экономика ПО - Страница 2
- 0.2 Применимость СПО при реализации «Обязательного минимума...» - Страница 3
- 0.3 Логика и последовательность освоения СПО - Страница 4
- Глава 1. Краткое введение в открытые ОС - Страница 5
- 1.1 Операционные системы - Страница 6
- 1.2 Практическая интеграция - Страница 9
- 1.3 Почему командная строка? - Страница 16
- 1.4 Сеанс работы и команды - Страница 18
- 1.5 Файлы и файловые структуры - Страница 22
- 1.6 Процессы - Страница 31
- 1.7 Переменные - Страница 35
- 1.8 Конвейер - Страница 38
- 1.9 Элементы обработки текста - Страница 40
- 1.10 Элементы программирования оболочки - Страница 45
- 1.11 Справочник по наиболее употребительным стандартным командам ОС - Страница 50
- 1.12 Перечень стандартных команд ОС - Страница 56
- Глава 2. Графический пользовательский интерфейс - Страница 60
- 2.1 Оконная система «Икс» и XFree86 - Страница 61
- 2.2 Цветной сэндвич - Страница 62
- 2.3 «Чистая» «Икс» - Страница 63
- 2.4 Окноводы - Страница 64
- 2.5 Столоначальники - Страница 65
- 2.6 Триумф интерфейса над пользователем? - Страница 66
- 2.7 От какого наследства нам не стоит отказываться? - Страница 67
- 2.8 Зачем нужны «легкие» среды? - Страница 68
- 2.9 Базовая функциональность оконного менеджера - Страница 69
- 2.10 «Виджеты» - Страница 70
- 2.11 Расширенная функциональность оконного менеджера - Страница 71
- 2.12 Оконные менеджеры «BlackBox» и «FluxBox» - Страница 72
- 2.13 Оконный менеджер «WindowMaker» - Страница 73
- 2.14 Оконный менеджер «IceWM» - Страница 74
- 2.15 Интегрированные графические среды - Страница 75
- 2.16 Плюсы и минусы интегрированных сред - Страница 76
- 2.17 Общие черты интегрированных сред - Страница 77
- 2.18 «Гном» (Модельная среда сетевых объектов GNU) - Страница 78
- 2.19 «КДЕ» (Настольная среда K) - Страница 80
- Глава 3. Пакет «Мозилла» - Страница 81
- 3.1 Базовая функциональность «Мозилла»66 - Страница 82
- 3.2 «Мозилла»: как это сделано - Страница 84
- Глава 4. «Открытый Офис» - Страница 85
- 4.1 Словарный процессор «OpenWriter» - Страница 86
- 4.2 Редактор электронных таблиц «OpenCalc» - Страница 90
- 4.3 Редактор векторной графики «OpenDraw» - Страница 93
- Глава 5. Редактор растровой графики «ГИМП» - Страница 97
- 5.2 Источники и параметры и форматы представления растровой графики - Страница 98
- 5.3 Общие сведения о «ГИМП» - Страница 99
- 5.4 «ГИМП» – программируемый графический редактор - Страница 100
- 5.5 Фильтрация и синтез изображений - Страница 102
5.4 «ГИМП» – программируемый графический редактор
Вероятно, успехом «ГИМП» не в малой степени обязан своей изначально модульной и программируемой архитектуре. Сам по себе этот редактор – достаточно компактная и простая программа, однако его возможности приумножаются за счет открытости архитектуры и наличия множества модулей (в текущей поставке – около трехсот), реализующих те или иные дополнительные функции, такие как импорт-экспорт сторонних форматов или обработку изображения или его фрагмента по тому или иному алгоритму.
Такие модули можно разрабатывать как отдельные программы с использованием библиотеки GDK, а можно пользоваться одним из встроенных в «ГИМП» интерпретаторов языков программирования. Именно наличие таких интерпретаторов и делает «ГИМП» программируемым графическим редактором. Можно сказать, что его архитектура подобна архитектуре текстового редактора Emacs.
Таких интерпретаторов на сегодня два. Забавное название Script-fu, видимо, следует понимать как английско-китайское выражение, означающее «мастерство сценирования» (напомним, что «сценариями» («скриптами») называют программы, написанные на интерпретируемых языках). Script-fu – это первый встроенный в «ГИМП» интерпретатор функционального языка Схема (Schema), являющегося потомком первого языка функционального программирования Лисп. Разработчик скрипта имеет доступ к многочисленным базовым функциям-графическим примитивам.
Схема – весьма продуманный и стройный язык, однако его методический потенциал не может в полной мере быть раскрыт в сегодняшних курсах информатики в средней школе, программирование в которых вводится в директивной (сентенциональной) парадигме. На Схеме, так же, как и на Лиспе, можно писать в директивном стиле, однако изящества и простоты, столь необходимых в обучении, достичь при этом возможным не представляется.
Директивен другой язык, интерпретатор которого также встроен в «ГИМП». Это Перл (Perl), его «ГИМП»-овская реализация называется Perl-fu. Хороший программист может писать на Перле чисто и аккуратно, однако синтаксис языка сам по себе настолько гибок (чтобы не сказать «жидок»), что, по нашему мнению, Перл совершенно не годится на роль изучаемых в числе первых (хотя существуют и другие мнения, весьма авторитетные).
Добавление в «ГИМП» еще одного интерпретатора (например, алголо– или паскалеподобного языка) не представляется особо сложной задачей, однако о таких проектах ничего не известно, и, наверное, от программирования обработки изображений «внутри» «ГИМП» как от простой в методическом освоении темы большинству педагогов стоит пока отказаться.
Интерактивная функциональность и эргономика
Тем не менее, базовой интерактивной функциональности «ГИМП» (включая доступные модули) вполне достаточно, чтобы покрыть обычно изучаемые в школе вопросы обработки графики.
Рис. 5-1При запуске «ГИМП» на экране открывается ряд окон (Рис. 5-1). Главное окно содержит меню основных функций, панель пиктографически обозначенных «инструментов» и области, в которых отображаются текущие значения основного и фонового цветов, формы кисти, текущего градиента. Окна изображения соответствуют отдельным открытым графическим файлам (или слоям в них).
Дополнительные инструментальные окна (по какой-то причине названные «диалогами») могут открываться из меню главного окна. Однако их всего десяток («Слои, каналы и контуры», «Параметры инструментов», «Кисти», «Шаблоны», «Градиенты», «Палитра», «Устройства ввода», «Индекс документов», «Консоль ошибок»), а основной массив функций, применяемых к текущему или вновь создаваемому изображению или выбранному участку изображения (включая функции, реализованные внешними модулями-фильтрами) «достаются» через контекстное меню, открывающееся по щелчку правой кнопкой мыши в окне изображения.
Рис. 5-2Рис. 5-3Зато можно воспользоваться (непривычным для пользователей упрощенных графических сред, таких, как «Майкрософт Уиндоуз») свойством графической библиотеки GTK+, называемым «линия отрыва». Каждое меню наверху содержит пунктирную линию, щелкнув мышью на которой можно превратить это меню в самостоятельное инструментальное окно, сохраняющееся, пока пользователь явным образом его не закроет (Рис. 5-2). Таким образом (учитывая настраиваемость самой системы меню) можно в любой момент создать на экране дополнительные «панели инструментов», содержащие функции, которыми в ближайшее время предполагается воспользоваться. Привыкшему к другому стилю работы пользователю это непривычно, однако, привыкнув, эту интерфейсную особенность можно использовать весьма эффективно.