Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Графические средства Паскаля




В состав TP включена мощная библиотека графических подпрограмм. Чтобы воспользоваться этими средствами, необходимо подключить стандартный библиотечный модуль GRAPH. В нем содержаться ~ 90 графических процедур и функций, множество стандартных констант. Все они содержат комплекс средств для разработки программного продукта.

Аппаратная и программная поддержка графического режима.

Изображение на экране монитора формируется в 2 – х режимах: текстовом и графическом.

В текстовом режиме экран разбивается на отдельные участки – знакоместа. На экране 25 строк по 80 символов в строке.

В графическом режиме экран состоит из точек(пикселов), каждая из которых может быть определенного цвета. Количество точек по вертикали и по горизонтали называется разрешающей способностью монитора Каждый монитор в совокупности с адаптером и драйвером обеспечивают разрешающую способность.

Видеоподсистема компьютера включает в себя: монитор, видеоадаптер и драйвер. Все графические построения производятся в видеопамяти. Видеопамять разделена на несколько областей, фиксированной длины, которые называются видеостраницами.

Их количество определяется видеорежимом. Каждая видеостраница хранит информацию обо всех точках экрана (там хранится информация о цвете каждой точки). Монитор и адаптер – аппаратная, а драйвер – программная поддержка. Драйвер – программа, осуществляющая связь процессора с внешним устройством.

Сопряжение дисплея и компьютера и управление его работой осуществляется устройством, называемым адаптером. Адаптер состоит из контроллера дисплея и видеопамяти. От адаптера зависит, будет ли способен компьютер выводить графическое изображение. Изображение строится в видеобуфере, а не сразу на экране. Изображение хранится в видеопамяти и воспроизводится на экран с частотой регенерации экрана. Существуют различные типы мониторов, и каждому из них соответствует свой тип адаптера. В модуле GRAPH описаны встроенные константы, которые задают вид адаптера.

CGA = 1

EGA=3

VGA=9

Для каждого типа монитора соответствуют свои графические драйверы. Они находятся в .bgi – файлах(с расширением bgi) и активизируются при инициализации графического режима.

Для VGA – egavga.bgi.

Каждый монитор в совокупности со своим драйвером и адаптером обеспечивает определенный видеорежим, который определяет:

· Разрешающую способность экрана;

· Набор цветов;

· Количество видеостраниц;

Видеорежимы:

VGALo =0 640 x 200 16 цветов 4 в/стр

VGAMed=1 640 x 350 16 цветов 2 в/стр

VGAHi =2 640 x 480 16 цветов 1 в/стр

Изображение на экране строится из пикселов, объединенных в строки. Это матрица пикселов.

Инициализация графического режима.

Необходимо подключить модуль GRAPH в предложении USES.

Initgraph(var gd: integer; var gm: integer; dpatch: string)

Gd – задает тип драйвера;

Gm – задает видеорежим;

Dpatch – задает путь к драйверу;

Gd:=vga;

Gm:=vgahi;

Initgraph(gd, gm, ‘’);

Чтобы работать в графическом режиме надо: скопировать в текущую папку файл egavga.bgi, тогда путь можно указать ‘’.

Если тип монитора неизвестен или программа должна работать с любым монитором, то в качестве gd можно указать стандартную константу detect = 0.

Gd:= detect;

При этом будет автоматически определяться тип драйвера и выбираться видеорежим.

По окончании работы в графическом режиме, его надо закрыть процедурой closegraph.

Процедура Dtectgraph(var gd, gm:integer – возвращает номера текущего драйвера ирежима.

Процедура SetGraphMode(mode: integer)– переводит систему в графический режим и очищает экран(mode - код режима).

Процедура RestoreCrtMode – восстанавливает видеорежим, который был до инициализации графики не освобождает память и не сбрасывает установленные графические параметры(в отличии от closegraph).

Функция GraphResult – возвращает целочисленное значение кода ошибки. Значение 0 –ошибок нет.

Можно написать такой фрагмент программы:

Error:= Graphresult;

If error<>0 then

Writeln(GraphErrorMsg(error) else

Begin

Initgraph(gd, gm, ‘’);

……

end;

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

По аналогии с текстовым режимом графический экран может по умолчанию считается, как одно окно. Значения координат левого верхнего и правого нижнего угла устанавливаются автоматически при инициализации графического режима. Чтобы очистить графический экран используется процедура ClearDevic (очищает экран и заливает его цветом фона). В растровой графике экран представляет собой двумерный массив адресуемых точек (пикселов).

0,0 x

Горизонтальная координата увеличивается слева направо, а вертикальная – сверху вниз.

Максимальное значение X и Y зависит от видеорежима.

MAX= 640x480. Максимальные координаты 639 х 479.

Если неизвестны максимальные значения, то используют функции: Getmaxx и Getmaxy.

GetX, GetY – значение текущего указателя по горизонтали и вертикали.

Процедура SetViewPort(x1,y1,x2,y2:integer; ClipOn:Boolean). ClipOn=true, - изображение не умещающиеся в окне отсекаются, в противном случае границы окна игнорируются.

SetColor(Color:word) – устанавливает цвет используемых графических фигур.

SetBkColor(Color:word) - устанавливает цвет фона. По умолчанию фон – белый, а вывод – черный.

В графическом режиме существует понятие текущий указатель(невидимый курсор), который определяет позицию вывода. Процедура MoveTo(x,y) перемещает указатель в точку с координатами X,Y.Любое изображение состоит из графических примитивов(простых фигур), которые строятся вызовом стандартных процедур.

Вывод точки:

PutPixel(x,y:integer; color: word);

Цвет задается константами или идентификаторами:

Black=0

Blue=1

Green=2

Red=4

White=15




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.