Графические примитивы

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

Создание графических примитивов

Чтобы создать примитив одного из перечисленных типов, нажмите и удерживайте кнопку соответствующей группы примитивов на панели инструментов. Затем, выбрав нужный примитив из выпадающего списка иконок, отпустите кнопку. В результате включается режим создания примитива, в котором нужно указать с помощью мыши расположение ключевых точек и расстояний примитива. У разных примитивов разное число параметров: так, у простой линии всего два параметра, а у кривой — неограниченное количество. Ниже пойдет речь об особенностях создания различных примитивов.

Линии и стрелки

Для создания линии укажите начальную и конечную точку линии на листе рисунка: начальная точка линии задаётся левой кнопкой мыши; затем, не отпуская кнопку, установите курсор на конечную точку линии и отпустите кнопку — линия создана.

Соединительная линия

Этот объект создаётся точно так же, как и обычная линия. Особенностью соединительной линии является способность привязываться к объектам, поэтому при создании соединительной линии вместо точки начала или конца линии можно указать какой-нибудь объект — программа сама подберет наилучшую точку присоединения линии к нему.

Прямоугольники

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

Окружности, эллипсы, дуги, сегменты и сектора

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

Трёхмерные объекты

Чтобы задать трёхмерный объект, необходимо указать его максимальный размер в одном из двух измерений. Трёхмерный объект создаётся в фиксированных пропорциях, которые можно изменить уже после его создания.

Текст

Текстовый объект создаётся простым щелчком левой кнопки мыши в нужном месте листа: появится кадр набора текста с текстовым курсором.

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

Легенда

Легенда — это рамка со стрелкой, которая обычно используется для пояснения какой-либо части рисунка. Она задаётся, как и обычная рамка, двумя точками при помощи правой кнопки мыши. Затем внутрь рамки легенды можно вставить текст, дважды щёлкнув левой кнопкой мыши на рамке. При вводе текста рамка легенды автоматически изменяет размер.

Кривые Безье

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

Кривые Безье строятся по нескольким точкам и направляющим линиям. Точки, по которым строится кривая, называются опорными точками; каждая из них характеризуется двумя отрезками, расположенными на касательной к кривой Безье в опорной точке (они называются направляющими). Длина каждой из них задаёт крутизну следующего или предыдущего сегмента кривой, а угол касательной задает направление в обе стороны от опорной точки.

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

Важно

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

Замечание

Удерживание кнопки Shift в процессе создания кривой позволяет указывать углы, кратные 45 градусам; для замыкания кривой можно использовать кнопку Alt.

При работе в X Window System кнопка Alt может использоваться менеджером окон, что не позволит выполнить эту операцию. Например, KDE по умолчанию использует Alt в сочетании с нажатой левой кнопкой мыши для перемещения окна. Тем не менее можно замкнуть линию, нажав Alt после правой кнопки. Линия будет замкнута, но последняя опорная точка станет угловой. Это легко исправить с помощью инструмента редактирования точек. Можно также изменить настройки оконного менеджера, указав ему другой модификатор вместо Alt.

Рисованная линия

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

Многоугольники

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

Модификация графических объектов

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

  1. графические объекты, характеризуемые областью (большинство объектов);

  2. графические объекты, характеризуемые частными свойствами (линии, соединительные линии, легенда);

  3. текстовые объекты (простой текст).

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

Можно выделить сразу несколько объектов с помощью левой кнопки мыши при нажатой кнопке Shift — в этом случае выбранные объекты будут выделены одним полем из восьми точек и все дальнейшие операции будут действовать на все выбранные объекты.

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

Изменение размера и перемещение

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

Для объектов второго типа при изменении размера используются контрольные точки — примерно так же, как и при изменении размера области, однако в данном случае изменение размеров происходит по правилам самого объекта: например, для Легенды удлинение указательной стрелки не приводит к изменению области пояснения.

Рамка области текстовых объектов задаёт поле набора текста и ширину строки; изменение её размеров не приводит к изменению размера шрифта. Напротив, текст, вписанный в рамку, зависит от размера заданной области, в этом случае текст масштабируется автоматически с таким расчётом, чтобы весь текст уместился в заданной области.

Для перемещения объекта щёлкните левой кнопкой мыши по любой части объекта, переместите объект, не отпуская кнопку, и, отпустив её, зафиксируйте изменение.

Текст внутри объектов

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

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

Эффекты

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

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

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

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

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

Использование редактора точек

Режим редактирования точек можно вызвать через инструмент Правка точек на панели объектов (или опций), контекстное выпадающее меню (пункт Правка точек) или с клавиатуры кнопкой F8.

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

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

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

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

Симметричный переход

Опорная точка с одинаковыми по длине направляющими отрезками. При изменении длины одной направляющей симметричного перехода вторая также изменяет длину.

Плавный переход

Это обычная опорная точка с разными по длине и раздельно корректируемыми направляющими.

Угловая точка

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

Выбрав нужную опорную точку, можно с легкостью поменять её тип с помощью инструментов на панели Правка точек.

Свойства области

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

Свойства линий

Каждый объект OpenDraw содержит линии — даже если это текстовый объект и его рамка по умолчанию не отображается. Диалоговое окно, позволяющее настроить внешний вид этих линий, можно вызвать через инструменты панели объектов, меню Формат->Линия или через контекстное меню Линия. При этом можно изменять цвет, толщину, задавать прозрачность и снабдить концы линии стрелками различного вида.

Свойства текста

Для текстовых и содержащих текст объектов имеется возможность изменять вид и свойства текста через инструменты на панели объектов, меню Формат или контекстное меню.

Свойства текста вызываются при помощи инструментов панели объектов, меню Формат->Текст или контекстного меню Текст. Здесь определяется, будет ли текст вписан в рамку или наоборот — текст будет задавать размеры рамки, а также будут ли применяться различные эффекты бегущей строки при выводе текста на экран.

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

Позиционирование объектов

OpenDraw обладает мощными инструментами для позиционирования объектов. Часто возникает необходимость выровнять объекты относительно друг друга, страницы или линии; для выполнения этих действий предназначены инструменты на панелях Расположение и Выравнивание, а также пункт Распределение контекстного меню или меню Действия. Точно разместить объекты помогают инструменты на панели опций.

Выравнивание

Любой объект может быть выровнен относительно полей страницы с помощью соответствующих инструментов отрывной панели Выравнивание.

Существуют отдельные инструменты для выравнивания в горизонтальном и вертикальном направлении — по центру и по краям листа. Если выбрать сразу несколько объектов (удерживая кнопку Shift), то этими же инструментами можно выровнять объекты относительно краев или центра области выделения.

Расположение

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

На панели расположены инструменты для перемещения объекта сразу на передний или задний план, последовательного изменения положения (за объект или перед объектом), изменения положения относительно конкретного объекта. Также есть возможность поменять местами (по глубине) два объекта.

Распределение

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

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

Точное размещение объектов

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

OpenDraw поддерживает несколько видов привязок:

сетка

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

направляющая линия

Может быть горизонтальной или вертикальной. Для создания этой привязки необходимо щёлкнуть левой кнопкой мыши на вертикальной или горизонтальной линейке и вытянуть линию на нужное место листа.

пользовательская привязка

Пользователь имеет возможность задать привязку в виде линии или точки в любом месте листа с точностью до миллиметра. Такая привязка создаётся с помощью меню Вставка->Линия/Точка привязки

Кроме перечисленных, к привязкам можно отнести поля страницы, рамки объектов, узлы объектов. Имеются инструменты для включения или выключения различного рода привязок:

  • к сетке;

  • к направляющим линиям;

  • к полям страницы;

  • к рамкам и узлам объектов.

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

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

  • сетки;

  • направляющих линий;

  • направляющих линий рамки объекта при перемещении.

Преобразование объектов

Любой объект в OpenDraw может быть преобразован в ту или иную форму в зависимости от своего типа; возможные варианты содержатся в контекстном меню Преобразовать. Это меню содержит различные наборы вариантов в зависимости от типа выбранного объекта. Так, например, для трёхмерных объектов имеется только два варианта, а для прямоугольника уже семь.

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

Группы объектов

Чтобы выполнить действия сразу над несколькими объектами, удобно воспользоваться функцией группировки. Для создания группы необходимо сначала отметить несколько объектов, удерживая кнопку Shift, а потом выбрать пункт Группировать контекстного меню (или меню Действия) или воспользоваться горячей кнопкой Ctrl-Shift-G.

Замечание

Если вы используете Ctrl-Shift как переключатель клавиатуры и заметили, что подобные комбинации используются во многих приложениях, попробуйте настроить переключение языка по Caps Lock (при этом фиксация регистра переключается по Shift-Caps Lock), это более производительно.

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

Группу всегда можно разбить с помощью пункта Разгруппировать контекстного меню или меню Действия, или с помощью комбинации кнопок Alt-Ctrl-Shift-G.

Чтобы отредактировать объекты, включённые в группу, нет необходимости разбивать группу — для этого предназначены операции входа в группу и выхода из неё. Можно воспользоваться пунктами Вход в группу (Выход из группы) контекстного меню или меню Действия, или горячей кнопкой F3 (Ctrl-F3).

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

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

Комбинирование объектов

В отличии от группирования, которое необходимо главным образом для совершения ряда одинаковых операций над большим количеством объектов, при комбинировании из выбранных объектов создаётся новый объект с новыми свойствами. Полученная комбинация наследует свойства объекта, созданного первым, или, точнее, находящегося позади всех остальных объектов, выбранных для комбинации (см. раздел «Расположение»). Комбинировать можно только те объекты, которые можно преобразовать в кривые Безье.

Создать комбинацию так же легко, как и сгруппировать объекты. Для создания комбинации необходимо сначала отметить несколько объектов (удерживая кнопку Shift), и затем выбрать пункт Комбинировать контекстного меню (или меню Действия) или воспользоваться горячей кнопкой Ctrl-Shift-K.

В местах пересечений объектов в комбинации возникают прозрачные дыры; это свойство — плата за возможность разбить комбинацию. Данный метод также можно применять как временное объединение объектов перед выполнением логических операций над ними.

Полученную комбинацию всегда можно разъединить с помощью пункта Разъединить комбинацию контекстного меню (или меню Действия) или с помощью сочетания кнопок Alt-Ctrl-Shift-K.

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

Логические операции над объектами

OpenDraw позволяет логически складывать, вычитать и пересекать объекты. Для выполнения логических операций необходимо выбрать несколько объектов (удерживая кнопку Shift), затем с помощью пунктов Слияние, Вычитание или Пересечение контекстного меню Формы или меню Действия->Формы выполнить нужную операцию. В результате образуется новый объект, наследующий свойства самого старшего (или, точнее, находящегося глубже всех других выделенных).

Логические операции являются необратимыми, поэтому, если вы хотите отменить операцию, то единственный путь — воспользоваться функцией отмены OpenDraw, которая доступна через меню Правка->Отменить или по горячей кнопке Ctrl-Z.

Именование объектов

Для упрощения работы с рисунками сложной структуры, в OpenDraw имеется возможность присвоить объектам некоторых типов имена, далее появляющиеся в панели состояния каждый раз, когда вы выбираете объект. Кроме того, именованные объекты показываются Навигатором как отдельные элементы структуры рисунка.

Присвоить имя можно только:

  • группе объектов;

  • вставленным объектам: растровая картинка, объект OLE, формула и др.

Графические стили

Как и текстовый документ, рисунок может содержать стили, но только одного типа — графические. Графический стиль представляет собой всеобъемлющий набор значений атрибутов самых различных графических объектов. Будучи примененным к какому-либо объекту, стиль переопределяет значения имеющихся у данного объекта атрибутов, подставляя вместо них значения, заданные для данного стиля.

Графические стили особенно удобно применять для создания сложных рисунков с повторяющимися элементами; они незаменимы для чертежей, различных схем, диаграмм и т. д. Для их создания, модификации, применения и удаления удобнее всего пользоваться Мастером стилей, который можно вызвать из меню Формат->Мастер стилей, кнопкой F11 или инструментом (Вкл./Выкл. Мастер стилей) на панели функций.

Выделив объект или несколько объектов c помощью Мастера стилей, легко применить любой стиль: просто дважды щёлкните на нужном пункте в окне Мастера стилей.

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