avangard-pressa.ru

Типы видео мониторов и их режимы - Математика

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

Кроме того мониторы делятся по аппаратной реализации: ЦИФРОВЫЕ и АНАЛОГОВЫЕ.

Тип монитора Режим Разрешающая способность Кол-во цветов CGA HERCMONO EGA VGA CGAC0-2 CGAHI EGALO VGAHI 320 X 200 640 X 200 720 X 347 640 X 200 640 X 480

Остальные стандартные типы являются мало употребительными или повторяют более слабые режимы.

Режимы SVGA не являются стандартными, хотя драйвера для них иногда и встречаются, но не входят в комплект Borland Си. Положение ухудшает и большое разнообразие особенностей SVGA карт выпускаемыми разными фирмами, не придерживающихся одинакового формата.

Инициализация графики

Функции:

initgraph(int *GrDr,int *GrMod,char *Path) ;

i=graphresult() ;

closegraph() ;

Функция initgraph(...) инициализирует графический режим. В пара­метрах ей передается:

GrDr - Тип графического монитора, или DETECT - Определить макси­мально возможный. Тип установленного оборудования возвращается в этих же переменных (поэтому они и передаются указателем).

GrMod - Режим.

Path - Путь до файлов *.bgi - драйверов графических режимов. Если указанно " " - то в текущем каталоге.

Значения и имена можно взять из предыдущей таблицы.

Функция graphresult() - возвращает код ошибки инициализации гра­фики (недопустимый графический режим, не найден файл *.bgi и т.п.). Если все в порядке функция возвращает значение grOk. Проверку правильного выполнения функции initgraph(...) обязательно надо производить, так как, если графический режим не установлен, выполнение любой графи­ческой команды приведет к аварийному останову программы.

Функция closegraph() обеспечивает корректное возвращение в текс­товый режим. Ее выполнение, как говорилось раньше, очищает экран. При необходимости вставляйте задержку до нажатия клавиши: getch().

Внимание !

Работа с графикой возможна только в моделях памяти >= medium, это устанавливается в опциях компилятора.

Для работы с библиотекой графики ее необходимо подключить. В опциях Си: Option\Linker\Libriry\Graphics: X

#include

#include

#include

int main(void)

{

int GrDr,GrMod,rez ;

GrDr=DETECT ;

initgraph(&GrDr,&GrMod," ") ;

rez=graphresult() ;

if(rez != grOk)

{

printf("\n Ошибка инициализации графики") ; return(0) ;

} /* Кон. if */

line(0,0,100,100) ;

getch() ;

closegraph() ;

return(1) ;

} /* Кон. main() */

Система координат

Система координат в графическом режиме начинается с точки 0,0. Размеры экрана зависят от установленного графического режима.


0,0 639,0 VGA,VGAHI 0,479

Основные графические функции

Ниже используются обозначения:

x,y,x1,y1,x2,y2 – координаты;

*St – строка символов;

rx,ry,r – радиусы;

h – толщина изображения;

Alfa1,Alfa2 – углы в градусах;

DX,DY – размеры символа;

Color – цвета.

Функции рисования

line(int x1,int y1,int x2,int y2) Линия

rectangle(int x1,int y1,int x2,int y2) Прямоугольник

bar(int x1,int y1,int x2,int y2) Закрашенный прямоугольник

bar3d(int x1,int y1,int x2,int y2,int h) Закр. прям. с оттененением

ellipse(int x,int y,int rx,int ry) Эллипс

fillellipse(int x,int y,int rx,int ry) Закрашенный эллипс

arc(int x,int y,int Alfa1,int Alf2,int r) Дуга (круг)

outtextxy(int x,int y,char *St) Вывод строки текста

putpixel(int x,int y,char Color) Поставить точку

Color=getpixel(int x,int y) Получить цвет точки

floodfill(int x,int y,char Color) Залить до границы указанного цвета

cleardevice() Очистить экран

clearviewport() Очистить порт вывода

setviewport(int x1,int int y1, Установить порт вывода

int x2,int y2,char flg) flg-вывод за пред. окна