Программный продукт "Графический редактор учебно-методических материалов"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ользовать только информацию о формуле, участках, которые были стерты пользователем, а также информацию о цвете отображения графика функции. В общем случае для сохранения информации о построенном графике будем использовать пару тегов 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 рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение