КАТЕГОРИИ: Архитектура-(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; Просмотров: 390; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |