Окно программы ELastic¶
До загрузки какого либо изображения окно ELastic соответствует изображению на рисунке 1.1.
Рис.1.1. Окно программы ELastic
Для загрузки изображения следует выбрать пункт Открыть в меню Файл. Появится стандартное диалоговое окно открытия файлов. Программа может работать с файлами четырех типов: *.CAR, *.BMP, *.PCX, *.TIF. Расширение CAR - это свопинговый файл, с которым и будет напрямую работать программа. Формат CAR имеют и все результирующие изображения. Файлы стандартных графических форматов BMP, PCX и TIFF также будут преобразованы в свопинговый файл при загрузке. Таким образом, основной формат - это CAR формат. Два других - промежуточные. (Следует заметить, что программа работает с TIFF форматом, только если изображение не компрессировано и имеет 256 цветную палитру.)
Одновременно открытых окон может быть сколь угодно много, но все команды, связанные с изображением, адресуются к активному дочернему окну.
Чтобы получить информацию об изображении, щёлкните правой кнопкой мыши в рабочей области окна (рис. 1.3).
Высота и ширина - это размеры изображения в пикселях. В пикселях задан и размер файлового блока. Файловый блок - это минимальная часть изображения, которую можно прочитать из файла.
Рис. 1.2. Отображение основы в окне.
Рис. 1.3. Параметры изображения.
Перемещение по поверхности основы¶
Скроллирование картинки осуществляется тремя способами. Первый - стандартный: с использованием стрелок на клавиатуре. Второй позволяет перемещать изображение одновременно по двум координатам. Для этого требуется нажать левую кнопку мыши и, не отпуская ее, двигать курсор по видимой части изображения в требуемом направлении. Третий способ связан с перемещением графических объектов по поверхности основы. Если требуется изменить координату какой-либо точки графического объекта, ее, как правило, перетаскивают курсором мыши. Когда курсор достигнет границы окна или пересечет её, автоматически включится режим скроллирования, причём шаг скроллинга будет пропорционален расстоянию от курсора до границы рабочей области окна. Отключить этот режим можно, отпустив кнопку мыши, или возвратив курсор во внутреннюю область окна.
Масштабирование¶
Масштабный коэффициент отображается на панели инструментов главного окна приложения. Масштаб в 100% означает, что произвольному количеству пикселей на экране монитора соответствует такое же количество пикселей исходного изображения. Иными словами масштаб это соотношение линейных размеров исходного изображения и отображаемого. Масштабный коэффициент можно задать явно, если обратиться к соответствующему элементу панели инструментов. При этом левый верхний угол видимой части изображения не будет смещаться относительно рабочей области окна. Такое правило позволяет избежать необходимости явного указания точки на изображении, относительно которой будет производиться масштабирование. Центр рабочей области окна для этих целей не подходит, так как пользователю придется соотносить изменение размеров картинки сразу по четырем направлениям, трудно представляя себе при этом крайние координаты результирующей области. Кроме того, значение масштабного коэффициента на панели инструментов соответствует масштабу следующей загруженной картинки, а после загрузки левый верхний угол изображения всегда соответствует левому верхнему углу рабочей области окна.
На рисунке 3.1 изображен активный элемент панели инструментов, предназначенный для такого рода масштабирования.
Реализован и другой способ масштабирования. Он не предусматривает явного указания масштабного коэффициента. Требуется задать только прямоугольную область на растровой основе, которая после масштабирования должна отобразится на всю рабочую область окна. Заметим, что допускается только пропорциональное масштабирование (по горизонтали и по вертикали масштабные коэффициенты равны), однако пользователь имеет возможность отметить любой прямоугольник. При этом все элементы внутри прямоугольника будут видны на экране и после масштабирования. Для того чтобы пометить область, выберите кнопку на панели инструментов. Она выглядит следующим образом:
Рис. 3.1. Использование списка масштабных коэффициентов.
Курсор изменит свою форму. Этим курсором отметьте начало прямоугольной области. Не отпуская кнопки мыши, установите его в позицию, соответствующую противоположному углу прямоугольника. Изменяющийся прямоугольник будет виден на экране. Если противоположный угол расположен за пределами области отображения, то, как уже было сказано, для таких случаев предусмотрен авто-скроллинг. Для того чтобы отключить режим авто-скроллинга, необходимо вернуть курсор внутрь рабочей области окна или отпустить кнопку мыши. В последнем случае произойдет изменение масштаба. Масштаб может либо увеличиться, либо уменьшится. Это зависит от того, был ли один из линейных размеров помеченной области больше или меньше текущего размера области вывода.
Кнопка
предназначена для отката на один шаг назад в операциях масштабирования с заданием прямоугольной области.
На рисунке 3.2 приведен пример выделения фрагмента для масштабирования.
Рис. 3.2. Масштабирование выделением подобласти.
Система координат¶
Для однозначного определения месторасположения всей картинки, её части или отдельного пикселя была принята прямоугольная дискретная система координат. Каждому отдельному пикселю исходного изображения ставится в соответствие пара чисел (x; y). Координаты двух соседних пикселей всегда отличаются на 1. Начало отсчета для этой системы координат не связано с левым верхним краем изображения. Например, можно загрузить основу, левый верхний пиксель которой имеет координаты: (-120345, 3746543).
Сетка и ее использование¶
Одним из основных требований к материалу, подлежащему векторизации, является равномерность распределения масштабного коэффициента по всей площади основы. Картографические планы могут не отвечать этим требованиям. Это связано с нелинейными искажениями, возникающими в результате использования различного полиграфического оборудования. Для задания условной координатной привязки, на план рисуют прямоугольную сетку. Внесенные искажения повлияют на относительное расположение узлов этой сетки. Эти узлы и служат основой для восстановления исходного изображения. Для этого программа и предоставляет пользователю графический объект - «Сетка».
Объект «Сетка» это прямоугольник, разбитый на прямоугольники одинаковых размеров. Для его создания необходимо задать количество узлов вдоль обеих сторон прямоугольника, а также расстояние между двумя соседними горизонтальными и вертикальными узлами.
В меню «Сетка» имеется пункт «Создать новую», после выбора которого появится диалоговое окно (рис. 5.1).
Рис. 5.1. Диалоговое окно задания параметров сетки.
Размеры сетки выражены в количестве узлов по каждому из направлений. Размеры ячейки - в пикселях. Если результирующее изображение будет включаться в файл проекта, то размеры ячейки в пикселях должны быть кратны 128. (Например: 128, 256, 384, 512, 640, 768, и т.д.) В остальных случаях ограничения отсутствуют.
Размер ячейки всегда кратен размеру файлового блока. Пользователь не сможет ввести произвольные размеры ячейки. В его задачу входит подобрать такие размеры ячейки, чтобы они максимально соответствовали аналогичным размерам на растре. Отображение сетки учитывает текущий выбранный масштаб основы. Приведем пример изображения сетки на рис. 5.2.
Рис. 5.2. Отображение сетки в окне приложения
Координаты каждого узла сетки задаются в той же координатной системе, что и пиксели изображения. Следовательно, каждому узлу сетки можно поставить в соответствие один пиксель. Такое соответствие не изменяется при масштабировании или скроллинге основы.
Всю сетку целиком можно двигать по растровой поверхности. Для этого следует нажать клавишу Shift и одновременно «потянуть» при помощи мыши за один из узлов. Таким же образом, но без клавиши Shift необходимо поступить для изменения координаты отдельного узла.
Преобразование по сетке означает, что каждая область, ограниченная любым четырехугольником, отобразится в прямоугольник, размеры которого равны размерам прямоугольника в исходной сетке (то есть до изменения пользователем взаимного расположения узлов сетки). Поэтому, если совместить такую сетку с сеткой на поверхности и выполнить преобразование, то все нелинейные искажения, если они имелись, будут устранены. Приведем примеры преобразования фрагмента изображения до искажения и после.
Рис. 5.3. Преобразование по сетке
В данном случае были внесены искажения, а не устранены. Однако эта иллюстрация помогает лучше представить процесс преобразований по сетке.
Даже если сетка, нанесенная на основу, не имеет искажений, она, как правило, повернута на произвольный угол. Кроме того, размеры сетки, кратные размерам файлового блока, не совпадают с реальными. Для приведения координат основы в соответствие с экранными координатами необходим поворот. Для поворота основы достаточно совместить каждый узел рабочей сетки с узлами рисованной сетки на основе. Это не всегда удобно. Можно воспользоваться пунктом меню «Сетка» - «Повернуть/Растянуть». Появится следующий вспомогательный элемент (рис. 5.4):
Рис. 5.4.Приближающий элемент
Поворот сетки по часовой стрелке
Поворот сетки против часовой стрелки
Увеличение
Уменьшение
Два последних пункта позволяют изменять масштаб вдоль одного из направлений сетки. Это необходимо, когда горизонтальные и вертикальные размеры сеточной ячейки на основе не равны. Если обе кнопки X и Y отпущены, то изменение масштаба произойдет сразу по двум направлениям.
Угол поворота, а так же коэффициент масштабирования имеют некоторые фиксированные значения. Эти значения можно изменить. Для этого дважды щелкните левой кнопкой мыши в области диалогового окна вокруг кнопок. Окно изменит свой вид (рис. 5.5):
Рис. 5.5.Изменение точности поворотов и масштабирования
Левая и правая величины пропорциональны углу поворота и коэффициенту масштабирования соответственно. Можно изменить эти значения. Для возврата диалогового окна в исходное состояние необходимо повторить операцию с мышью.
Поворот и масштабирование производятся не относительно произвольной точки, а относительно одного из узлов сетки. Чтобы пометить такой узел, необходимо подвести к нему курсор мыши и нажать левую кнопку мыши.
После того, как все узлы сетки совмещены с узлами сетки на поверхности основы, можно приступать к искажению. Выберите пункт Исказить в меню Сетка. Появится следующее диалоговое окно (рис. 5.6):
Рис. 5.6. Окно преобразования по сетке
«Координатная система», координаты автоматически будут скорректированы для соответствия блочным координатам.
Примечание!!! В последней версии Elastic склейка происходит с точностью до пикселя, поэтому необходимо точное указание координат места склейки. Зависимости от блочных координат больше не существует.
Для элемента «Выходной файл» следует задать имя выходного файла, который будет содержать результаты преобразования. Имя файла может соответствовать либо несуществующему файлу, либо уже имеющемуся на диске. В первом случае появится новый файл, во втором - результат преобразования будет добавлен в имеющийся файл. Добавление произойдет, если форматы обоих изображений идентичны, т.е. равны количество байт на пиксель и размеры файловых блоков. Несоответствие палитр при этом не отслеживается. Результирующее изображение приобретет палитру добавляемого. Поэтому, пользователю необходимо следить за тем, чтобы склеиваемые фрагменты имели одинаковую палитру. Это замечание касается 256 цветных изображений.
Задаваемые координаты по умолчанию соответствуют позиции левого верхнего угла преобразованного изображения в новом файле. Как уже было сказано выше в разделе, чтобы вручную уточнить требуемые координаты, необходимо загрузить изображение, в которое требуется добавить фрагмент, и подвести курсор мыши в нужное место картинки. В левом нижнем углу главного окна приложения отобразятся координаты точки изображения, на которую указывает стрелка курсора.
Чтобы вводимые координаты соответствовали любому другому углу преобразованного изображения в новом файле, отметьте желаемый угол на сетке в том же диалоговом окне.
На рисунке 5.7 приведен пример процесса добавления искажаемого фрагмента в уже существующий файл.
Рис. 5.7. Процесс добавления искажаемого фрагмента в уже существующий файл
Файлы проекта¶
При подготовке растровых материалов к векторизации может возникнуть необходимость создания различных рабочих фрагментов из одних и тех же преобразованных участков. Идеальным примером этого служит городская система координат. Заранее не известно, из каких планшетов будет сформировано то или иное рабочее место. Склейка по способу, описанному выше достаточно трудоемкий процесс, тем более, что преобразование по сетке придется выполнять для одних и тех же планшетов неоднократно. Создание файла проекта позволит состыковывать уже готовые преобразованные фрагменты *одинаковых размеров* в желаемой конфигурации. Поясним это на примере. Допустим на диске имеется некоторое количество обработанных изображений. (Каждому изображению соответствует пара файлов: *.car и *.dsc.) Чтобы создать файл проекта воспользуйтесь пунктом Создать проект в меню Файл. Появится диалоговое окно вида:
Рис. 6.1. Окно создания файлов проекта
Рис. 6.2. Окно редактирования, создания файлов проекта
Файл прототипа - это проектная единица, один из тех файлов, из которых будет формироваться итоговый файл проекта. Файлы проекта - это три файла, имеющих одно и то имя, но разные расширения. *.CAR и *.DSC - итоговая картинка. Файл *.CPR вспомогательный проектный файл. Без него невозможны изменения в итоговой картинке, а именно: добавление и удаление проектных единиц. Если сформированный *.CAR файл не нуждается в дальнейших изменениях, то файл *.CPR больше не понадобится. Нажатие кнопки Ok приведет к появлению окна:
В левом нижнем углу выводятся координаты того прямоугольника, на который указывает курсор мыши. Эти координаты, вспомогательные, однако они оказывают влияние на координаты крайних точек результирующих изображений. Поэтому, если Вы хотите, чтобы верхний левый угол результирующего фрагмента соответствовал: x = 0, y = 0, то добавляйте крайнюю (левую верхнюю) проектную единицу в область с координатами : 1 : 1.
Рис. 6.3. Процесс добавления - удаления проектных единиц
Для добавления, удаления проектных единиц нажмите левую кнопку мыши в требуемом месте.
При добавлении появится стандартное диалоговое окно просмотра файлов. Выберите нужный файл из списка. Удаление не освобождает физическое пространство на диске, а лишь помечает его как свободное для замещения другими фрагментами. Поэтому размер итогового CAR - файла может только увеличиваться. При этом размер его не меняется, если количество добавляемых фрагментов меньше или равно количеству « удаленных».
Кнопки со знаками «+» и «-» предназначены для масштабирования видимых условных элементов. Нажатие кнопки приводит к удалению файлов, после их добавления в проект. Пользуйтесь ею, если дисковое пространство ограничено.