Файл: C Стандартные библиотечные функции работы с графикой.rtf
Добавлен: 11.01.2024
Просмотров: 184
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1. Анализ графического модуля “graphics.h”
1.2 Анализ констант, типов и глобальных переменных модуля
2. Реализация пользовательской библиотеки “mouse.h”
Список используемой литературы
1. Анализ графического модуля “graphics.h”
1.2 Анализ констант, типов и глобальных переменных модуля
, 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 определяет отсечены или нет все рисунки текущей области просмотра.
setvisualpage( int page); - Устанавливает страницу с номером page визуальной графической страницей.
setwritemode( int mode); - Устанавливает режим вывода объектов в графическом режиме. Параметр mode может принимать значения 0, которое соответствует режиму copy_put или 1, соответствующее режиму xor_put. Параметр copy_put использует ассемблерную команду MOV, рисуя поверх всех объектов новый объект. Параметр xor_put использует команду XOR (команду неэквивалентности), замещая предыдущий объект таким же новым. Используя дважды параметр xor_put, вы получите первоначальный результат.
textheight( char far *textstring); - Функция возвращает высоту строки в количестве точек.
textwidth( char far *textstring); - Функция возвращает ширину строки в количестве точек.
arccoordstype - Используется функцией getarccoords для получения параметров текущей области просмотра.
struct arccoordstype
{
int x, y; /* center points of arc */
int xstart, ystart; /* start position */
int xend, yend; /* end position */
}
CGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на CGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
COLORS - Данная символьная константа устанавливает атрибут цвета символов на EGA и CGA мониторах. Определена в модуле CONIO.H. Используется функциями (функции описаны в модуле CONIO.H) textattr, textbackground, textcolor.
EGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на EGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
fill_patterns - Образцы заливки применяемые функциями getfillsettings и setfillstyle( см. таблицу 1).
Таблица 1.
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 определяет отсечены или нет все рисунки текущей области просмотра.
setvisualpage( int page); - Устанавливает страницу с номером page визуальной графической страницей.
setwritemode( int mode); - Устанавливает режим вывода объектов в графическом режиме. Параметр mode может принимать значения 0, которое соответствует режиму copy_put или 1, соответствующее режиму xor_put. Параметр copy_put использует ассемблерную команду MOV, рисуя поверх всех объектов новый объект. Параметр xor_put использует команду XOR (команду неэквивалентности), замещая предыдущий объект таким же новым. Используя дважды параметр xor_put, вы получите первоначальный результат.
textheight( char far *textstring); - Функция возвращает высоту строки в количестве точек.
textwidth( char far *textstring); - Функция возвращает ширину строки в количестве точек.
1.2 Анализ констант, типов и глобальных переменных модуля
arccoordstype - Используется функцией getarccoords для получения параметров текущей области просмотра.
struct arccoordstype
{
int x, y; /* center points of arc */
int xstart, ystart; /* start position */
int xend, yend; /* end position */
}
CGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на CGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
COLORS - Данная символьная константа устанавливает атрибут цвета символов на EGA и CGA мониторах. Определена в модуле CONIO.H. Используется функциями (функции описаны в модуле CONIO.H) textattr, textbackground, textcolor.
EGA_COLORS - Данная константа определяет цветовую схему, доступную для функция BGI, выполняющихся на EGA мониторах. Определена в модуле GRAPHICS.H. Используется функциями setallpalette, setbkcolor, setcolor, setpalette.
fill_patterns - Образцы заливки применяемые функциями getfillsettings и setfillstyle( см. таблицу 1).
Таблица 1.
Название | Значение | Результат заполнения |
EMPTY_FILL | 0 | Цвет фона |
SOLID_FILL | 1 | Сплошная заливка |
LINE_FILL | 2 | Заливка типа “---” |
LTSLASH_FILL | 3 | Заливка типа “///” |
SLASH_FILL | 4 | “///” толстые линии |
BKSLASH_FILL | 5 | “\\\” толстые линии |
LTBKSLASH_FILL | 6 | Заливка типа “\\\” |
HATCH_FILL | 7 | Редкая штриховка |
XHATCH_FILL | 8 | Сильная перекрестная |
INTERLEAVE_FILL | 9 | “Чередование строк” |
WIDE_DOT_FILL | 10 | Заливка точками(широк) |
Таблица 1. продолжение. | ||
CLOSE_DOT_FILL | 11 | Заливка точками(узк) |
USER_FILL | 12 | Определ. пользователем |