Программный продукт "Графический редактор учебно-методических материалов"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
зуется константа RGN_DIFF, а для вычисления пересечения - RGN_AND. После проверки попадания курсора в область, принадлежащую одному из вычисленных регионов и нажатии левой кнопки мыши производится установка свойств Fill1, fill2, fill3. В качестве результата функция возвращает основной программе логическое значение показывающее была или нет применена заливка.() - отличие метода от объявленных ранее объясняется тем, что перемещение возможно только для объекта в целом, изменение радиуса окружностей в данном случае заблокировано, так как оно может привести к некорректному пересечению окружностей или отсутствию пересечения.
3.3.1.8 Три множества
Класс Три множества предназначен для реализации функциональной возможности рисования диаграмм Эйлера-Венна на случай пересечения трех множеств. Используя базовый класс Примитив, позволяющий хранить экземпляры данного класса, как и остальные примитивы, описываемый класса позволяет создать совокупность трех окружностей. Такое изображение окружностей позволит применять заливку к семи отдельным областям, показанных на рисунке 3.4.
Рисунок 3.4. Изображение трех пересекающихся множеств
Для реализации класса потребовалось задние новых свойств и некоторых методов, описанных ниже.
Открытые свойства.
FCircle: Circle, SCircle: Circle, TCircle - члены класса Два множества обеспечивают хранение информации об окружностях, изображающих множества и являются экземплярами класса Окружность.
SPoint: Point - предназначен для хранения информации о том где располагается центр первой (левой) окружности, данное свойство позволит в дальнейшем изменять местоположение данного примитива на экране, используя описанные выше процедуры.
Закрытые свойства.: real, oldMPY: real - назначение данных двух свойств аналогично назначению одноименных свойств других классов, описанных выше.: bool, fill2: bool,fill3: bool, fill4: bool, fill5: bool, fill6: bool, fill7: bool - при пересечении трех окружностей можно получить семь отдельных секторов заливки, обозначенных на рис. 3.4. цифрами. Данные свойства позволяют, определить: была ли присвоена заливка каждой из заданных областей. В дальнейшем свойства применяются как для снятия, так и наложения цветовой однотонной заливки.
Таблица 5. Сектора заливки
СвойствоФормула региона заливки№ области на рисунке 3.4.AB_C: HRGN4AC_B: HRGN6BC_A: HRGN5B_AvC: HRGN2A_BvC: HRGN1C_AvB: HRGN3ABC: HRGN7
Открытые методы.
В целом основные свойства, наследуемые от базового класса, используются для тех же целей, что и в других примитивах с некоторыми отличиями. Например, метод Draw() позволяет рисовать множества и реализовать заливку аналогично одноименному методу, описанному в классе два множества, только уже для трех множеств; а метод onRemove() - при перемещении целой фигуры перемещает вместо двух окружностей - три.
Данный класс завершается описанием основных используемых классов в создаваемом проекте примитивов. Совокупность данных классов позволяет пользователям создавать и в дальнейшем редактировать созданные примитивы, в рамках одного запуска программы. В дальнейшем рассмотрим основные функции по сохранению и импортированию созданных с помощью программы изображений, а также рассмотрим методы автоматизации заполнения шаблонов связанных с построением графиков функций, промежутков знакопостоянства функции и диаграмм Эйлера-Венна, а также другие возможности построения изображений.
3.3.2 Описание основных модулей программы
Раздел посвящен основным модулям, реализованным в программе. Созданная структура классов позволяет пользователю только создавать примитивы и осуществлять механизмы работы с ними, описывает основные методы, используемые для хранения информации о параметрах примитива: цвете, толщине линии, цвете заливки, типе линии и другие. Рассмотрим другие возможности программы, которые сопровождают процесс создания и редактирования иллюстраций по высшей математике.
3.3.2.1 Сохранение
В рамках реализации программного продукта предполагается возможность сохранения и последующую загрузку полученной иллюстрации для дальнейшего редактирования. Большинство форматов используемых в графических редакторах является закрытыми форматами, изменение информации в данных файлах не предназначено сторонними продуктами, так как структура каждого из форматов различается, а зачастую информации хранится в бинарном виде. Однако, присутствуют и открытые форматы среди них, такие как SVG, AI и другие.
При сохранении в файлы присутствуют следующие возможности:
-сохранение в собственный формат файла для последующего редактирования,
-сохранение созданного изображения в растровый файл для последующей печати,
-сохранение файла в векторные открытые форматы для последующего импорта в сторонние графические растровые редакторы.
Таким образом, программный продукт для сохранения используется следующие модули: сохранение в собственный формат vff (vector file format); сохранение в растровый формат; импорт в открытые векторные форматы. Рассмотрим данные функции подробнее.
Сохранение в формат *.vff.
Для задания программному продукту возможностей по сохранению, загрузке и дальнейшему редактированию иллюстраций был разработан следующий формат файла, несколько схожий с нотацией XML, при этом структура файла напоминает векторный формат SVG. Отличительной особенность разработанного формата является возможность ручного редактирования информации о примитивах, посредством обыкновенного текс
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение ницу