на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
C++: Стандартные библиотечные функции работы с графикой

C++: Стандартные библиотечные функции работы с графикой

2

Волжский Университет им. В.Н. Татищева

Факультет Информатики и Телекоммуникаций

Курсовая работа

Дисциплина: Системное программное обеспечение

Тема:

«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, Linux Mandrake/Red Hat/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, int huge( *detect)); - функция устанавливает драйвер определённый программистом. *name - название нового драйвера, *detect - указатель на дополнительную функцию авто определения, которая может сопровождать новый драйвер. Эта функция (авто определения) не берёт ни каких параметров и возвращает целочисленное значение.

registerbgidriver( *grdriver) - Функция сообщает графической системе, что драйвер устройства, на который указывает *grdriver был включён во время “линковки”.

registerbgifont( *font) - Функция информирует графическую систему, что шрифт, на который указывает *font был включен во время “линковки”.

restorecrtmode() - Функция восстанавливает режим, существовавший до активизации графического режима функцией initgraph().

arc( int x, int y, int stangle, int endangle, int radius); - Функция рисует дугу, по заданным координатам x, y, начальным и конечным углом stangle, endangle и заданным радиусом radius.

bar( int left, int top, int right, int bottom); - Функция рисует прямоугольник начиная от левого верхнего угла с координатами left, top до правого нижнего угла с координатами right, bottom.

bar3d( int left, int top, int right, int bottom, int depth); - Функция рисует “трёхмерный прямоугольник” или, так сказать, подобие параллелепипеда, начиная от верхнего левого угла, до правого нижнего угла и с указанием глубины depth.

circle( int x, int y, int radius); - Функция рисует окружность с центром в точке с координатами ( x, y) и радиусом radius.

cleardevice(); - Функция очищает экран в графическом режиме и возвращает текущую позицию указателя в точку с координатами ( 0, 0).

clearviewport(); - Функция стирает область просмотра и перемещает текущую позицию в точку с координатами ( 0, 0), относительно области просмотра.

drawpoly( int numpoints, int *polypoints); - Функция рисует полигон с количеством вершин numpoints и координатами вершин *polypoints. *polypoints является одномерным массивом.

ellipse( int x, int y, int stangle, int endangle, int xradius, int yradius); - Функция рисует эллипс с координатами в точке ( x, y), начальным и конечным углами stangle, endangle, и радиусами xradius, yradius по осям x и y.

fillpoly( int numpoints, int *polypoints); - Функция рисует и закрашивает заданным цветом полигон.

fillelipse( int x, int y, int xradius, int yradius); - Функция рисует закрашенный эллипс.

floodfill( int x, int y, int border); - Область, ограниченная цветной границей закрашивается установленным образцом и цветом.

getarccoords( &arcinfo); - Функция возвращает координаты последней точки, на которую был переведён указатель, где параметр &arcinfo объявлен как struct arccoordstype arcinfo.

getaspectratio( &xasp, &yasp); - Получает значения коэффициента сжатия в &xasp, &yasp, где xasp, yasp являются переменными типа integer.

getbkcolor() - Возвращает значение типа integer текущего цвета фона.

getcolor() - Возвращает значение типа integer установленного на данный момент цвета.

getdefaultpalette() - ( дополнение) Возвращает структуру определения палитры в переменную объявленную как struct palettetype far *<имя_переменной>=(void *) 0;.

getfillpattern( char far *pattern); - Копирует определённый пользователем заполненный образец в память.

getfillsetting( &fillinfo); - Получает информацию о текущих настройках стиля и цвета, где параметр &fillinfo объявлен как struct fillsettingstype fillinfo.

getimage( int left, int top, int right, int bottom, void far *bitmap); - Сохраняет картинку в специально отведённой области памяти, где left, top, right, bottom координаты картинки, а *bitmap указатель на область памяти.

getlinesettings( &lineinfo); - Получает текущий тип линии, образец и толщину, где параметр &lineinfo объявлен как struct linesettingstype lineinfo.

getmaxcolor(); - Возвращает значение типа integer, которое соответствует номеру цвета.

getmaxmode(); - Возвращает значение типа integer, которое соответствует максимальному номеру графического режима, для текущего драйвера.

getmaxx(); - Возвращает значение типа integer, которое соответствует максимальному количеству точек по оси x для текущего графического режима.

getmaxy(); - Возвращает значение типа integer, которое соответствует максимальному количеству точек по оси y для текущего графического режима.

getmodename( int mode_number); - Возвращает значение типа integer, которое соответствует указанному графическому режиму.

getpalette( &palette); - Получает информацию о текущей палитре, где параметр &palette объявлен как struct palettetype palette.

getpalettesize(); - Функция возвращает значение типа integer, соответствующее количеству цветов палитры для текущего графического режима.

getpixel( int x, int y); - Функция возвращает номер цвета точки, находящейся по координатам ( x, y).

gettextsettings( &textinfo); - Функция возвращает текущие настройки фонта для текущего графического режима, где параметр &textinfo определён как struct textsettingstype textinfo.

getviewsettings( &viewinfo); - Получает информацию о текущей области просмотра, где параметр &viewinfo определяется как struct viewporttype viewinfo.

getx(); - Функция типа integer возвращает текущую позицию указателя по оси x.

gety(); - Функция типа integer возвращает текущую позицию указателя по оси y.

grapherrormsg( int errorcode); - Возвращает код ошибки в виде переменной errorcode типа intger.

imagesize( int left, int top, int right, int bottom); - Определяет размер области памяти, необходимый для сохранения двоичного образа.

installuserfont( char far *name); - Функция типа intger возвращает номер идентификатора шрифта, который можно передать функции settextstyle для выбора данного шрифта. Параметр *name это путь к файлу шрифта. Одновременно данной функцией можно подключить до двадцати шрифтов.

line( int x0, int y0, int x1, int y1); - Функция рисует линию от точки с координатами x0, y0 до точки с координатами x1, y1. Не обновляет текущую позицию.

linerel( int dx, int dy); - Функция рисует линию от текущей позиции до точки, находящейся на относительном расстоянии от текущей позиции, затем передвигает текущую позицию.

lineto( int x, int y); - Рисует линию от текущей позиции до точки с координатами ( x, y), затем переносит текущую позицию в ( x, y).

moverel( int dx, int dy); - Перемещает текущую позицию на относительное растояние.

moveto( int x, int y); - Перемещает текущую позицию в точку с координатами ( x, y).

outtext( char far *textstring); - Выводит строку в графическом режиме. Строка должна заключатся в “”.

outtextxy( int x, int y, char far *textstring); - Выводит строку в графическом режиме предварительно перейдя в точку с координатами ( x, y).

pieslice( int x, int y, int stangle, int endangle, int radius); - Рисует и закрашивает замкнутый сектор круга.

putimage( int left, int top, void far *bitmap, int op); - Выводит битовый образ на экран.

putpixel( int x, int y, int color); - Рисует точку с координатами ( x, y) и цветом color.

rectangle( int left, int top, int right, int bottom); - Рисует прямоугольник от точки с координатами (left, top) до точки с координатами ( right, bottom).

Registerfarbgidriver (void far *driver); - Данная функция используется для регистрации удалённых графических драйверов.

Registerfarbgifont (void far *font); - Данная функция используется для регистрации удалённых шрифтов.

sector (int x, int y, int stangle, int endangle, int xradius, int yradius); - Функция рисует сектор круга установленным цветом, затем заполняет его используя образец и цвет, установленные функциями setfillstyle или setfillpattern.

setactivepage( int page); - Устанавливает активную страницу для графического вывода.

setallpalette( &palette); - Устанавливает полную палитру цветов для данного режима, где переменная &palette определена как struct palettetype palette.

setaspectratio( int xasp, int yasp); - Заменяет заданный по умолчанию аспект сжатия графической системы.

setbkcolor( int color); - Устанавливает цвет фона по его номеру заданному переменной color.

setcolor( int color); - Устанавливает цвет по его номеру заданному переменной color.

setfillpattern( char far *upattern, int color); - Выбирает определённый пользователем образец заливки.

setfillstyle( int pattern, int color); - Функция устанавливает образец и цвет заливки.

setgraphmode( int mode); - Устанавливает систему в графический режим, определённый параметром mode. Сбрасывает все настройки в положение “по умолчанию”. Очищает экран.

setlinestyle( int linestyle, unsigned upattern, int thickness); - Устанавливает стиль рисуемых линий для функций рисования line, lineto, rectangle, drawpoly, etc.

setpalette( int colornum, int color); - Устанавливает палитру от цвета colornum до цвета color.

setrgbpalette( int colornum, int red, int green, int blue); - Данная функция может использоваться с IBM 8514 и VGA драйверами.

settextjustify( int horiz, int vert); - Устанавливает выравнивание текста для графического режима. По умолчанию стоит выравнивание по верхнему левому углу.

settextstyle( int font, int direction, int charsize); - Устанавливает характеристики текста: стиль, положение( горизонтальное или вертикальное), размер шрифта.

setusercharsize( int multx, int divx, int multy, int divy); - Устанавливает определённый пользователем “коэффициент сжатия” шрифта. По умолчанию ширина шрифта определена как multx:divx, высота как multy:divy.

setviewport( int left, int top, int right, int bottom, int clip); - Устанавливает новую область просмотра для графического вывода. Параметр clip определяет отсечены или нет все рисунки текущей области просмотра.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.