Программный продукт "Графический редактор учебно-методических материалов"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



зуется константа 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   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение ницу