Курсовая работа: C++: Стандартные библиотечные функции работы с графикой
Волжский Университет им. В.Н. Татищева
Факультет Информатики и Телекоммуникаций
Курсовая работа
Дисциплина: Системное программное обеспечение
Тема:
«C++: Стандартные библиотечные функции работы с графикой»
Тольятти 200г.
Содержание
Введение
1. Анализ графического модуля “graphics.h”
1.1 Анализ функции модуля
1.2 Анализ констант, типов и глобальных переменных модуля
2. Реализация пользовательской библиотеки “mouse.h”
Заключение
Приложение 1
Список используемой литературы
Введение
Тема данной курсовой работы стандартные библиотечные функции работы с графикой в C++. В данном работе я постараюсь раскрыть основные моменты работы функций стандартного модуля C++, который можно подключить к любому проекту написанном на языке Си, с помощью заголовочного файла graphics.h. Конечно, кроме данного модуля в современных средах разработки программных приложений на данном языке есть и такие не менее интересные модули как glu32.lib и glaux.lib, подключаемые к проектам с помощью заголовочных файлов gl.h, glu.h, glaux.h. Они позволяют программисту показать всю красоту приложения, а также могут использоваться для спецэффектов, но данные модули предназначены для работы с библиотекой opengl32.dll. Использование данной библиотеки, по сути дела, является работа с “компьютерной графикой”, но под графические оболочки таких операционных систем как Windows 9x/2k/XP, LinuxMandrake/RedHat/Slackware и тому подобных. Эта тема куда более обширная и интересная, но, как мы знаем, модуль graphics.h предназначен, в основном, для работы под операционную систему MS-DOS, в которой просто невозможно использование самого opengl’а. А по этому поводу, я считаю нужным, перейти непосредственно к основному разделу данной работы. Т.е. приступить к рассмотрению стандартных функций.
1. Анализ графического модуля “ graphics . h”
Как было уже сказано, данный модуль используется для работы с графикой под ОС MS-DOS. Функции, используемые в нём, для работы с графикой, да и как и сама графика, довольно примитивны. Итак, начнём.
Для инициализации модуля требуется подключить, так называемый, заголовочный файл (#include <graphics.h>). В этом файле описаны все функции, которые требуются для написания программы работающей с “графикой”.
1.1 Анализ функции модуля
initgraph( &grdriver, &grmode, “path”); – функция инициализации графического режима, где &grdriver, &grmode, “path” – параметры загружаемого режима;
grdriverи grmode– переменные типа integer;
“path” – путь к загружаемому драйверу графического режима.
Функция закрытия графического режима: closegraph(); – данная функция без каких либо параметров и закрывает текущий графический режим.
Функция определения графического драйвера и видео режима: detectgraph( &grdriver, &grmode);
Функция, возвращающая структуру определения палитры: getdefaultpalette(); – возвращает указатель на заданную по умолчанию структуру палитры для текущего драйвера инициализированного по initgraph.
getdrivername(); – функция возвращает имя текущего графического драйвера.
getgraphmode(); – функция возвращает текущий графический режим.
getmoderange( grdriver, &low, &high); – функция возвращает диапазон режимов для данного графического драйвера, где grdriver, low, high – переменные типа integer.
graphdefaults(); – сбрасывает текущие настройки в настройки по умолчанию.
_graphgetmem(); – функция выделения памяти. Эту функцию вызывают подпрограммы в графической библиотеке, чтобы распределить память. Данную функцию можно использовать независимо от графической библиотеки, вызвав её с указанием нужного объёма памяти в байтах.
_graphfreemem(); – функция освобождения памяти. Используется в сочетании с _graphgetmem().
setgraphbufsize(); – функция изменяет внутренний размер графического буфера. Вызывается до initgraph().
graphresult(); – возвращает код ошибки для последней неудачно выполненной операции.
installuserdriver( int *name, inthuge( *detect)); – функция устанавливает драйвер определённый программистом. *name – название нового драйвера, *detect – указатель на дополнительную функцию авто определения, которая может сопровождать новый драйвер. Эта функция (авто определения) не берёт ни каких параметров и возвращает целочисленное значение.
registerbgidriver( *grdriver) – Функция сообщает графической системе, что драйвер устройства, на который указывает *grdriver был включён во время “линковки”.
registerbgifont( *font) – Функция информирует графическую систему, что шрифт, на который указывает *font был включен во время “линковки”.
restorecrtmode() – Функция восстанавливает режим, существовавший до активизации графического режима функцией initgraph().
arc( intx, inty, intstangle, intendangle, intradius); – Функция рисует дугу, по заданным координатам x,y, начальным и конечным углом stangle, endangle и заданным радиусом radius.
bar( intleft, inttop, intright, intbottom); – Функция рисует прямоугольник начиная от левого верхнего угла с координатами left, top до правого нижнего угла с координатами right, bottom.
bar3d( intleft, inttop, intright, intbottom, intdepth); – Функция рисует “трёхмерный прямоугольник” или, так сказать, подобие параллелепипеда, начиная от верхнего левого угла, до правого нижнего угла и с указанием глубины depth.
circle( intx, inty, intradius); – Функция рисует окружность с центром в точке с координатами ( x, y) и радиусом radius.
cleardevice(); – Функция очищает экран в графическом режиме и возвращает текущую позицию указателя в точку с координатами ( 0, 0).
clearviewport(); – Функция стирает область просмотра и перемещает текущую позицию в точку с координатами ( 0, 0), относительно области просмотра.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--