Современная электронная библиотека ModernLib.Net

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

ModernLib.Net / Программы / Отставнов Максим / Прикладные свободные программы и системы в школе - Чтение (стр. 13)
Автор: Отставнов Максим
Жанр: Программы

 

 


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

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

Рис. 5-1

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

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

Рис. 5-2

Рис. 5-3

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

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

Основная интерактивная функциональность, доступная посредством «инструментов» в главном окне, достаточно традиционна для программ этого класса. Она включает, в том числе:

выделение области изображения (прямоугольной, эллиптической или произвольной формы, а также ограниченной кривыми Безье). Последовательно выделяемые области могут образовывать пересечения, объединения или вычитания;

— выделение связной области («волшебная палочка») с заданием параметров связности;

— перемещение, копирование, заливку выделенных областей;

— кадрирование (обрезку) изображения;

— изменение масштаба отображения на экране;

— вращение, масштабирование, искривление и зеркальное отображение изображения;

— ввод текста;

— выбор текущего цвета («пипетка»);

— заливку области сплошным цветом или градиентом;

— рисование «карандашом» или «кистью» произвольной формы и очистку «ластиком».

В базовую функциональность «ГИМП» входит также возможность захвата изображения со сканера и с экрана.

5.5 Фильтрация и синтез изображений

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

изменение цвета, насыщенности, яркости и контраста изображения;

удаление «шума»;

повышение резкости и размывание, выделение краев.

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

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

Примечания

1

Первые десять «лекций» упомянутого цикла также публиковались отдельной брошюрой[73].

2

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

3

Например, типичная цена одно-двухдискового дистрибутива российской сборки, включающего софт, достаточный для обеспечения школьной программы по информатике, не превышает трехсот рублей, в то время, как комплект из «Майкрософт Уиндоуз» и «Майкрософт Офис», покрывающий лишь часть программы, со всеми скидками обойдется не дешевле трех тысяч на каждое рабочее место.

4

В ноябре 2001 года, во время рабочей встречи «Свободное программное обеспечение», проведенной Высшей школой экономики и издательским домом «Компьютерра» в рамках разворачивания федеральной целевой программы «Электронная Россия»[74], было достигнуто принципиальное соглашение о том, чтобы учебные материалы, разработанные в ЦКТ МГИУ и касающиеся применения СПО в учебном процессе, были опубликованы также под свободной лицензией. И коллеги из МГИУ выполнили свое обещание, благодаря чему на их сайте можно найти учебник «Практическая информатика»[75] (также опубликован и выпущен в продажу в виде традиционного двухтомного издания).

5

В 2002 г. «Белл Лабз», подразделение «Эй-Ти-энд-Ти», занимающееся исследованиями и разработками, с какой-то целью релицензировало свободно одну из старых версию «Юникс», System 7, имеющую сегодня лишь историческое значение.

6

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

7

Единым «концентратором» ссылок на сайты систем «БСД» является сайт www.bsd.org.

8

Ссылки на сайты большинства дистрибутивов «ГНУ/Линукс» можно найти на www.distrowatch.com.

9

Сборка системы на базе «Линукс» «с нуля» описана в книге Linux from Scratch (www.linuxfromscratch.org). Русский перевод можно найти на http://vnc.org.ua/lfsbook/.

10

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

11

Из русских публикаций в особенности отметим цикл статей Алексея Федорчука «Юникс для всех» (http://linuxshop.ru/unix4all/) и книгу: Алексей Федорчук, «Офис, графика, Web в Linux». — СПб.: BHV, 2001.

12

Ричард Столлмен. Руководство по GNU Emacs (тринадцатая редакция) — М.: Институт логики, 1999

13

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

14

Документация на издаваемые в России дистрибутивы ALT Linux и ASPLinux может быть найдена на http://docs.altlinux.ru и www.asplinux.ru/ru/docs, соответственно.

15

Во время подготовки книги к печати было объявлено о планах поглощения компании «SuSE» компанией «Новелл».

16

Промежутком также является знак табуляции, однако не следует применять табуляцию в этом качестве; большинство современных оболочек использует клавишу табуляции в интерактивном режиме особым способом. На самом деле, промежутком является и символ новой строки, который просто так ввести также не удастся, поскольку нажатие Enter означает ввод (передачу на исполнение) набранной команды.

17

По поводу приведенного примера заметим еще, что год «4» соответствует не две тысячи четвертому, и не тысяча девятьсот четвертому годам, а ровно четвертому году от Р.Х.

18

«By default», т.е. «при отказе» от явного указания параметров.

19

Сокр. от англ. manual — «руководство».

20

В документации, литературе и переписке часто имена команд ОС указываются с цифрой 1 в скобках, т.е. вместо «команда “link”» пишут «link(1)». Поскольку мы (почти) не обсуждаем сущностей, могущих оказаться омонимичными именам команд, мы такого соглашения не принимаем.

21

Нулевой символ не может быть так просто введен с клавиатуры, поэтому сейчас вам не нужно об этом беспокоиться.

22

Это первые предложения второго абзаца «Вечеров на хуторе близ Диканьки» Н.В.Гоголя.

23

Стандарт предусматривает также ключ «-u», обеспечивающий побайтное, а не построчное копирование, однако ввиду буферизации ввода-вывода терминалом большинства систем такое различие не будет заметно в нашем примере.

24

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

25

Программистам дескрипторы 0, 1, 2 известны также как «STDIN», «STDOUT», «STDERR».

26

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

27

Отсюда фольклорное название «битодробилка» и многочисленные шутки, касающиеся того, как бы могло выглядеть соответствующее устройство, выполненное «в железе», и как бороться с переполнением «/dev/null».

28

Также в строках вывода команды «ls -l» отсутствует поле «размер»; его место занимают пары чисел, называемых старшим и младшим номерами устройства (в данном случае «5, 1», «1, 3» и «5, 0»). Их значения зависят от конкретной реализации и интересны, как правило, администратору системы, но не обычному пользователю.

29

В большинстве реальных ситуаций пользователь работает не со стандартной оболочкой «sh», а с усовершенствованной оболочкой, такой как «bash» или «zsh», совместимой сверху вниз со стандартной. При этом команда «sh» может быть, в зависимости от конкретной ОС, либо синонимом такой усовершенствованной, либо также включенной в систему строго стандартной оболочкой.

30

От англ. «script» («сценарий»).

31

Это концепция так называемых «собственных групп», поддерживаемая во многих системах «ГНУ/Линукс».

32

В этом же поле отображаются и другие правомочия, которые мы не обсуждаем. В случае, если в этом поле присутствует другая буква, строчная буква (например, «s») означает исполняемый файл, а заглавная (например, «S») — неисполняемый.

33

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

34

Именно поэтому метафора «папка» для каталога является неприемлемой.

35

Формальное определение стандарта гласит, что процесс — «Адресное пространство с одним или более витком, исполняющимся в нем, и системными ресурсами, необходимыми для исполнения этих витков». Виток (thread, поток) в свою очередь определяется как «поток управления». Понятие витка в этом курсе нам не понадобится, поскольку отдельные витки недоступны оператору оболочки. Хотя стандарт и определяет процесс через виток, понятие витка является менее фундаментальной позднейшей добавкой к концепции открытых ОС и, по мнению многих авторитетных аналитиков, является лишь средством повышения производительности.

36

В некоторых системах части кода ядра все же представлены в виде процессов, «усыновленных» инициализационным процессом.

37

Точность представления «снимка» в различных реализациях варьирует; так что не пугайтесь, если при подаче такой команды, допустим, ОС «Солярис», не увидите информации о «ps» — используемая при выводе таблица просто не успела обновиться.

38

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

39

Обратите внимание, что процессы, порожденные при подаче одинаковых команд (например «login» на tty1 и tty2 или «bash» на tty1, tty2 и pts/0), имеют разные идентификационные номера.

40

Собственно говоря, определить, что представляет собой тот или иной процесс, можно, подав команду «man» с именем команды из столбца CMD в качестве аргумента. В «ГНУ/Линукс» этот фокус не пройдет с квазипроцессами, которыми представлены некоторые компоненты ядра, поскольку они не имеют страниц руководства.

41

На самом деле сигнал приостановки и клавиатурная комбинация Control-Z не описаны в стандарте, но вы найдете эту возможность практически в любой открытой ОС.

42

В некоторых «доюниксовых» ОС понятие переднего и заднего планов выполнения было связано с приоритетами заданий или с выполнением одного из них в режиме «реального времени». В открытых ОС понятие приоритета и понятие плана выполнения взаимонезависимы.

43

В разумных пределах.

44

Например, сигналы об аппаратных или системно-программных ошибках, получение которых, как правило, приводит к аварийному завершению процесса-получателя с записью файла дампа памяти (core) в домашний каталог пользователя-хозяина процесса. Список известных системе сигналов (их число может приближаться к сотне) можно получить по команде «kill -l», но смысла указанных там идентификаторв, как правило, приходится доискиваться в технической документации.

45

На самом деле современные ОС ставят в соответствие процессам каталоги в фиктивной файловой структуре, смонтированной в каталоге «/proc/», и управляют доступом к процессам на основании правомочий, сопоставленных этим «каталогам» и входящим в них «файлам».

46

Хотя экранные команды («more», «vi») перехватывают нажатие Control-C.

47

В терминах стандарта «группа команд» является полным синонимом «задания», так что задание, состоящее из одной простой команды, тоже называется «группой».

48

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

49

Программы, входящие в утилиты ГНУ, составляющие большую часть системных программ в «ГНУ/Линукс», заметную — в ОС семейства «БСД» и часто используемые в других ОС, реализуют более продвинутую стратегию. Если определена переменная LANGUAGE, она будет интерпретироваться как список локалей (разделенных двоеточием) в порядке их предпочтения, в соответствии с которым программа будет искать локализационные ресурсы.

50

В последнем случае можно явным образом передать этой конкретной программе значение переменной LC_ALL, равное «C» или «POSIX».

51

Встроенные команды исполняются самой оболочкой, без вызова внешних программ. Пятнадцать команд («break», «:», «continue», «.», «eval», «exec», «exit», «export», «readonly», «return», «set», «shift», «times», «trap», «unset») являются специальными встроенными, их должна реализовать любая оболочка. Кроме того, разработчик оболочки может по каким-либо соображениям реализовать любую другую команду (стандартную или нестандартную) как встроенную. Пользователю в большинстве случаев безразлично, является ли команда встроенной или внешней, но при начале использования новой оболочки полезно ознакомиться со списком встроенных в нее команд.

52

Это уточнение приведено специально для мигрантов с MS-DOS.

53

В текущем каталоге случайно или вследствие чьей-то «шутки» может оказаться исполняемый файл, совпадающий по имени со стандартной или административной командой системы, но выполняющий другую функцию.

54

«Pipe». В русской литературе встречается также перевод «канал».

55

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

56

Реальные оболочки при попытке перенаправить ввод или вывод одновременно в файл и другую команду ведут себя странно.

57

И загромождение команд ключами, и произвольное ограничение возможностей пользователя свойственны и «доюниксовым» системам, и большинству сегодняшних альтернативных ОС.

58

Не следует, как это случается с некоторыми журналистами, путать word-процессоры («словарные процессоры») с текстовыми процессорами. Словарный процессор, подобно текстовому редактору, предназначен для интерактивной работы с текстом. Примеры word-процессоров: «OpenOffice.org Writer», «Microsoft Word», «WordPerfect». Текстовые процессоры — средства программированной (неинтерактивной) обработки текста, часто связанной с изменением формата разметки. Примеры текстовых процессоров: «TeX», «troff», превращающие особым образом размеченный для типографского набора текст в данные для отображения на экране или на принтере (например, в форматах DVI или PostScript).

59

Функциональность «Emacspeak» пока доступна лишь англоязычной аудитории.

60

Исключением являются утилиты семейства «grep».

61

Поскольку открытые системы являются многозадачными, декомпозируя задачу, решаемую сценарием, на несколько сценариев и используя системную многозадачность, можно реализовать определенный параллелизм в исполнении сценариев. Описание соответствующих приемов и команды «wait», позволяющей организовать синхронизацию («рандеву») потоков исполнения, выходит за рамки настоящего курса.

62

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

63

Возможностью представить их обзор в компактном виде автор обязан прежде всего своим соавторам по[76] Егору Гребневу, Сергею Иванову, Михаилу Шигорину.

64

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

65

Имеются в виду графические оболочки («Майкрософт Уиндоуз» 1.x, 2.x, 3x, 9x и Me), а не семейство «Майкрософт Уиндоуз НТ» (сегодняшними версиями которых являются «Майкрософт Уиндоуз 2000, XP и .NET Server»).

67

Строго говоря, «Мозилла» поддерживает и смешанные контексты, например, XUL-компоненты в HTML или наоборот, но XUL-интерпретатор как таковой не обязан этого делать, и XUL-интерпретатором, соответственно, вовсе не обязательно должен быть браузер.

68

Это греческий корень, он читается как русское «тех», а не как «текс».

69

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

70

«В девичестве» (до того, как американская корпорация Sun Microsystems приобрела немецкую компанию StarDivision и свободно лицензировала код, права на который принадлежали ранее последней) пакет назывался StarOffice, а word-процессор — StarWriter; под таким названием он получил известность и обрел достаточную популярность, в том числе, и в России (особенно версии 5.1 и 5.2).

71

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

72

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

73

Максим Отставнов. «Прикладные свободные программы в школе». — М.: «Медиа Технолоджи сервис», 2003.

74

Максим Отставнов (ред.). «Свободное программное обеспечение: бизнес-модели и корпоративные инициативы» — М.: ГУ-ВШЭ, 2001. Расширенную версию этого сборника можно найти на: http://www.otstavnov.com/fsr

75

С.В. Сергеев, Н.А. Роганова. Практическая информатика: учебное пособие. Ч.1 — М.: МГИУ, 2001. См. тж. http://www.ctc.msiu.ru/materials/

76

Эрик Рэймонд. «Собор и базар» // «Открытые системы», ## 09-10, 1999 г.

77

Фредерик Брукс. «Мифический человеко-месяц: двадцать лет спустя» // Его же. «Мифический человеко-месяц». — СПб.: «Символ-плюс», 1999

78

Nikolai Bezroukov. The Orthodox File Manager (OFM) Paradigm. Work in progress // http://www.softpanorama.org/OFM/Ofm_00.shtml

79

D. Englebart, W. English. A Research Center for Augmenting Human Intellect // AFIPS Conf. Proc., Fall Joint Computer Conf. — San Francisco, 1968.

80

Виктор Вагнер. True UNIX GUI // http://www.ice.ru/~vitus/thoughts/true_unix_gui.txt/true_unix_gui.txt

81

Министерство образования Российской Федерации. «Обязательный минимум содержания образования по информатике».

82

Документация на StarOffice 5.2 («Руководство пользователя» и «Инструкция по инсталляции», в совокупности около 600 стр.) входит в русское «коробочное» издание этого пакета. «Руководство пользователя» также (в значительно улучшенном переводе) издавала и включала в «коробочные» издания своих дистрибутивов, содержащих StarOffice, московская компания ASPLinux (www.asplinux.ru). Следует заметить, что «OO.o» 1.0 несколько отличается от StarOffice 5.2 и более ранних версий; однако единственным серьезным с точки зрения пользователя отличием является лишь отсутствие единого «рабочего стола» в первом.


  • Страницы:
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13