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

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

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



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

Для сохранения и редактирования информации о созданных при редактировании диаграммах Эйлера-Венна служат следующие теги:

-Twosets - для сохранения информации о двух множествах,

-Treesets - для сохранения информации о трех множествах.

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

.3.2.2 Преобразование форматов файлов

Создание возможностей по реализации сохранения в растровые форматы и возможностей сохранения и загрузки в векторные форматы файлов сторонних программ требует определения новых классов и процедур для выполнения для загрузки.

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

Однако так как OpenGL не позволяет производить непосредственного снятия копии созданного изображения, для дальнейшего сохранения, потребуется написание одного из классов позволяющих производить сохранение в файл типа *.bmp. Данный растровый формат был рассмотрен нами ранее. Информация хранится в файле данного типа в бинарном виде, при этом присутствуют служебные поля, характеризующие тип файла, размер изображения по вертикали и горизонтали, и другие, а также информация о каждом пикселе изображения. С точки зрения реализации наиболее простым растровым форматом данного файла является bmp изображение с использованием 24-битного значения для сохранения информации о каждом пикселе.

Для реализации возможностей работы с растровыми изображениями и сохранения информации в файл *.bmp были разработаны следующие классы.

Класс RGBpixel.

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

Рассмотрим основные свойства и методы данного класса.

Открытые свойства.

R,G,B - позволяют указать и хранить значения каждого из оттенков исходного цвета пикселя.

Открытые методы.setColor(int Color) - позволяет установить цвет пикселя, в качестве параметра принимает целочисленное значение цвета.

void setColor(uint R, uint G, uint B) - является перегруженным по параметрам методом и позволяет устанавливать цвет пикселя на основании составляющих компонент цвета.

int getColor() - возвращает значение текущего цвета пикселя.

uint getR(), uint getG(), uint getB() - позволят узнать красную, зеленую и синюю составляющие основного цвета соответственно.

Класс clBitMap.

Класс предоставляет методы и свойства для реализации возможностей по сохранению и загрузке растровых изображений формата *.bmp для дальнейшего использования в качестве подложки рисования. Также данный метод позволяет производить выделение загруженных изображений и перемещать их по экрану редактирования. Рассмотрим свойства класса.

Открытые свойства

int nRow, nCol - размеры пиксельной карты, т.е количество элементов массива для хранения пикселей.

RGBpixel *pixels - массив. Используется для хранения пикселей и представляет собой элемент класса RGBpixel.

int x,y,z - позиция загруженного изображения на экране.

bool mOver - признак выделения пиксельной карты.

Закрытые свойтва:oldMPX,oldMPY - хранят информацию о позиции курсора на экране при условии выделения пиксельной карты.

К основным методам данного класса относятся как закрытые методы,

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

Открытые методы.и clBitMap(int cols, int rows) - конструкторы класса,

позволяющие создавать экземпляр данного класса. Первый конструктор подразумевает создание экземпляра класса с параметрами по умолчанию, а второй - позволяет сразу задать размер пиксельной карты, за iет передачи параметров cols и rows.

setPixel(int X, int Y, int Color) - позволяет задать точку на экране в определенной позиции и с определенным цветом.

getPixel(int X, int Y) - метод позволяет получить значении цвета пикселя находящегося в позиции указываемой передаваемыми параметрами X и Y.

DrawBitMapAtPos(HDC hdc, HGLRC hglrc) - предназначен для рисования пиксельной карты в позиции экрана определяемой свойствами x,y,z.

ReadBitMapInMem(HDC hdc, HGLRC hglrc,int X, int Y, int Width, int Height) -позволяет iитать область экрана прямоугольную в пиксельную карту.

LoadBitMap(AnsiString fname) - производит загрузку *.bmp файла в пиксельную карту.

SaveBitMap(AnsiString fname) - производит сохранение пиксельной карты в bmp файл.

MouseOver(int X, int Y) - метод позволяет производить выделение пиксельной карты, для её дальнейшего перемещения.

Drag(int X, int Y) - отображает пиксельную карту в поле редактирования.

Закрытые методы.

getShort(),getLong() - используются для загрузки информации о значениях служебных полей из файла bmp. Методы позволяют получить из файла набор байт и представить его в виде целочисленного 16-б

Copyright © 2008-2014 geum.ru   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение