русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Библиотечный модуль GRAPH. Графические возможности ТП.


Дата добавления: 2015-07-23; просмотров: 746; Нарушение авторских прав



GRAPH - представляет собой библиотеку подпрограмм, обеспечивающую полное управление графическими режимами для различных адаптеров дисплеев: CGA, EGA, VGA... Содержит 78 процедур и функций (как базовых - рисование точек, линий, окружностей, прямоугольников),
так и расширяющих возможности базовых (многоугольники, сектора,
дуги, закрашивание фигур, вывода текста и т.д.).
Для запуска программы с использованием модуля GRAPH необходимо,
чтобы в рабочем каталоге находились графические драйверы с расширением .BGI, также должен быть доступен компилятору модуль
GRAPH.TPU.
Файл BGI - графический интерфейс. Он обеспечивает взаимодействие программ с графическими устройствами.
В начале программы модуль GRAPH должен быть подключен
PROGRAM
USES GRAPH;
описание меток, переменных программы, в частности
VAR driver, Mode: integer;
Begin
Далее инициализируется графический режим работы процедурой
InitGraph(,:integer;
: string);
Графическая информация на экране дисплея отражается совокупностью
светящихся точек - ПИКСЕЛЕЙ.
Режим по вертикали: 0 - 200 пикселей (4 страницы),
1 - 350 пикселей (2 страницы), 2 - 480 пикселей (1 страница).
Режим 2 (640х480, 16 цветов,1 страница)
В текстовом режиме координаты верхнего угла (1,1).
центр (319,239)
нижнего (639,479)
Тип драйвера допускается указывать =0, тогда он устанавливается
по результатам тестирования (авто определение). Путь определяет
маршрут поиска графического драйвера.
Пример:
USES GRAPH;
Const driver, mode: intGRAPH - представляет собой библиотеку
подпрограмм, обеспечивающую полное управление графическими
режимами для различных адаптеров дисплеев: CGA, EGA, VGA...
Содержит 78 процедур и функций (как базовых - рисование точек,
линий, окружностей, прямоугольников), так и расширяющих
возможности базовых (многоугольники, сектора, дуги,
закрашивание фигур, вывода текста и т.д.).
Для запуска программы с использованием модуля GRAPH
необходимо,
чтобы в рабочем каталоге находились графические драйверы с
расширением .BGI, также должен быть доступен компилятору модуль
GRAPH.TPU.
Файл BGI - графический интерфейс. Он обеспечивает
взаимодействие
программ с графическими устройствами.
В начале программы модуль GRAPH должен быть подключен
PROGRAM
USES GRAPH;
описание меток, переменных программы, в частности
VAR driver, Mode: integer;
Begin
Далее инициализируется графический режим работы процедурой
InitGraph(,:integer;
:string);
Графическая информация на экране дисплея отражается совокупностью
светящихся точек - ПИКСЕЛЕЙ.
Режим по вертикали: 0 - 200 пикселей (4 страницы),
1 - 350 пикселей (2 страницы), 2 - 480 пикселей (1 страница).
Режим 2 (640х480, 16 цветов,1 страница)
В текстовом режиме координаты верхнего угла (1,1).
центр (319,239)
нижнего (639,479)
Тип драйвера допускается указывать =0, тогда он устанавливается
по результатам тестирования (авто определение). Путь определяет
маршрут поиска графического драйвера.
Пример:
USES GRAPH;
Const driver, mode: integer;
Begin
driver:=VGA; (9)
mode:=VGAH; (2)
InitGraph(driver, mode, 'e:\TP\BGI'); тип string.
DetectGraph(var Diver, Mode: integer) - возвращает тип драйвера и
текущий режим его работы.
Основные цвета задаются от 0 до 15:
0- черный 8 - темно-синий
1- синий 9 - ярко-синий
2- зеленый 10 - ярко-зеленый
3- голубой 11 - ярко-голубой
4- красный 12 - розовый
5- фиолетовый 13 - малиновый
6- коричневый 14- желтый
7 - светло-серый 15- белый.



Если Х и У вещественные , то их нужно преобразовать к целым
координатам (в пределах раздела экрана). Для этого используются
функции ROUND или TRUNC прямого преобразования к целому
значению LineTo(trunc(x),trunc(y));
Также необходимо следить, чтобы значения не выходили за пределы
экрана (рассчитывайте коэффициенты увеличения или уменьшения и
пара-
метры смещения)
ПРОЦЕДУРЫ И ФУНКЦИИ модуля GRAPH
установочные
ClearDevice - Очищает экран и помещает курсор в точку (0,0);
SetViewPort(x1,y1,x2,y2:integer; Clip: boolean) - Устанавливает
текущее окно для графического вывода. X1,y1 – координата верхнего
левого угла; x2,y2 - координата нижнего правого угла. Если
Clip=true, то все изображения отсекаются на границах вывода;
ClearViewPort - Очищает текущее окно;
GetMax X: integer - возвращает максимальную горизонтальную координату графического экрана;
GetMax Y :integer - возвращает максимальную вертикальную
координату графического экрана;
Get X: integer - возвращает координату Х текущего указателя в окне;
Get Y: integer - возвращает координату Y курсора в окне;
SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0..4), шаблон штриховки (0..12) и толщину (1-ноpм, 3-утpоенная);
SetFillStyle(Pattern, Color: word) - Устанавливает образец
штриховки и
цвет (0..15 и 128-меpцание);
SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран;
SetColor(Color: word) - Устанавливает основной цвет, которым выполняется рисование (0..15);
SetBkColor(Color: word) - Установка цвета фона.
Гpафические примитивы
PutPixel(X,Y: integer; Color: word) - Выводит точку цветом Color с координатой X,Y;
LineTO(X, Y: integer) - Рисует линию от текущего указателя к точке с координатой Х,У;
LineRel(DX, DY: integer) - Рисует линию от текущего указателя к точке, заданной приращением координат;
Line(X1,Y1,X2,Y2:integer) - Рисует линию от точки (X1,Y1) к точке с координатой Х2,У2;
MoveTO(X, Y: integer) - Смещает текущий указатель к точке с
координатой Х,У;
MoveRel(DX, DY: integer) - Смещает текущий указатель к точке, заданной приращением координат;
Rectangle(X1,Y1,X2,Y2:integer) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам;
Bar(X1,Y1,X2,Y2:integer) - Рисует закрашенный прямоугольник, используя установку SetFillStyle;
Bar3D(X1,Y1,X2,Y2:integer;Depth:word;Top:Bolean) - Рисует
закрашенный паpаллелипипед. Depth - глубина в Pixel (1/4 ширины).
Если Тор=True, то рисуется верхняя грань пеpеллелипипеда;
Circle(X,Y:integer;R:word) - Рисует окружность радиуса R,
используя
X,Y как координаты центра;
Fillellipse(X,Y: integer; XR,YR: word) - Рисует защтpихованный
эллипс,
используя X,Y как центр и XR,YR как горизонтальный и
вертикальный радиусы.
RestorCRTMode - Восстанавливает текстовый режим работы экрана;
OutText(Text: string) - Выводит текстовую строку на экран.
OutTextXY(X,Y: integer; Text: string) - Выводит текст в заданное
место экрана.

Пример программы построения графика функции у=2+х*х.
program graphik; {файл grafikf.pas}
uses graph; {подключение модуля GRAPF}
var a,b,x,y: integer; {a,b-переменные, определяющие тип драйвера
и
видеорежим соответственно}
begin
detectgraph(a,b); {авто определение типа драйвера и видеорежима}
initgraph (a,b,'E:\TP\BGI'); {инициализация графического режима}
setgraphmode(2); {установка нового режима (2), очистка экрана}
setBKcolor(0); {основной цвет фона - черный}
setcolor(4); {основной цвет рисования - красный}
moveTO(100,100); {смещает курсор}
lineRel(50,50); {вычерчивание линии по приращению от текущего
указателя}
readln; {пауза до нажатия клавиши }
setcolor(2); {основной цвет рисования - зеленый}
line(100,100,100,50);{рисует линию от т.Х1,У2 до т.Х2,У2}
readln; {пауза до нажатия }
setcolor(5); {основной цвет рисования - фиолетовый}
putPixel(0,0,12); {выводит точку цветом 12 с координатой 0,0}
readln; {пауза до нажатия }
moveTO(1,2); {смещает курсор к точке с координатой 1,2}
for x:=0 to 20 do
begin
y:=2+ x*x;
lineTO(x,y); {рисует линию от текущего
указателя к точке с координатой Х,У}
end;
readln; {пауза до нажатия ввода}
Settextstyle(1,0,5);
OutTextXY(50,400,'график функции у=2+х*х'); {выводит текст в
заданное место экрана}
readln; {пауза до нажатия }
putPixel(639,479,14);{выводит точку цветом 14 с координатой
639,479}
readln; {пауза до нажатия }
closegraph;{закрывает графический режим и восстанавливает
текстовый}
end.

Begin
driver:=VGA; (9)
mode:=VGAH; (2)
InitGraph(driver, mode, 'e:\TP\BGI'); тип string.
DetectGraph(var Diver, Mode: integer) - возвращает тип драйвера и
текущий режим его работы.
Основные цвета задаются от 0 до 15:
0- черный 8 - темно-синий
1- синий 9 - ярко-синий
2- зеленый 10 - ярко-зеленый
3- голубой 11 - ярко-голубой
4- красный 12 - розовый
5- фиолетовый 13 - малиновый
6- коричневый 14- желтый
7 - светло-серый 15- белый.



Если Х и У вещественные , то их нужно преобразовать к целым
координатам (в пределах раздела экрана). Для этого используются
функции ROUND или TRUNC прямого преобразования к целому
значению LineTo(trunc(x),trunc(y));
Также необходимо следить, чтобы значения не выходили за пределы
экрана (рассчитывайте коэффициенты увеличения или уменьшения и
o`p`-
метры смещения)
ПРОЦЕДУРЫ И ФУНКЦИИ модуля GRAPH
установочные
ClearDevice - Очищает экран и помещает курсор в точку (0,0);
SetViewPort(x1,y1,x2,y2:integer; Clip: boolean) - Устанавливает
текущее окно для графического вывода. X1,y1 - координата
верхнего левого угла; x2,y2 - координата нижнего правого угла.
Если Clip=true, то все изображения отсекаются на границах вывода;
ClearViewPort - Очищает текущее окно;
GetMaxX: integer - возвращает максимальную горизонтальную
координату
графического экрана;
GetMaxY: integer - возвращает максимальную вертикальную координату
графического экрана;
GetX: integer - возвращает координату Х текущего указателя в окне;
GetY: integer - возвращает координату Y курсора в окне;
SetLineStyle(Line, Pattern, Thickness: word) - Устанавливает стиль (0..4), шаблон штриховки (0..12) и толщину (1-ноpм, 3-утpоенная);
SetFillStyle(Pattern, Color: word) - Устанавливает образец
штриховки и цвет (0..15 и 128-меpцание);
SetGraphMode(Mode: integer) - Устанавливает новый графический режим и очищает экран;
SetColor(Color: word) - Устанавливает основной цвет, которым
выполняется рисование (0..15);
SetBkColor(Color: word) - Установка цвета фона.
Гpафические примитивы
PutPixel(X,Y: integer; Color: word) - Выводит точку цветом Color с координатой X,Y;
LineTO(X,Y: integer) - Рисует линию от текущего указателя к точке с координатой Х,У;
LineRel(DX,DY: integer) - Рисует линию от текущего указателя к точке, заданной приращением координат;
Line(X1,Y1,X2,Y2:integer) - Рисует линию от точки (X1,Y1) к точке с координатой Х2,У2;
MoveTO(X,Y: integer) - Смещает текущий указатель к точке с
координатой Х,У;
MoveRel(DX,DY: integer) - Смещает текущий указатель к точке, заданной приращением координат;
Rectangle(X1,Y1,X2,Y2:integer) - Рисует прямоугольник, используя текущий цвет и тип линии по верхней левой и нижней правой точкам;
Bar(X1,Y1,X2,Y2:integer) - Рисует закрашенный прямоугольник,
используя установку SetFillStyle;
Bar3D(X1,Y1,X2,Y2:integer;Depth:word;Top:Bolean) - Рисует
закрашенный паpаллелипипед. Depth - глубина в Pixel (1/4 ширины).
Если Тор=True, то рисуется верхняя грань пеpеллелипипеда;
circle(X,Y:integer;R:word) - Рисует окружность радиуса R,
используя
X,Y как координаты центра;
Fillellipse(X,Y: integer; XR,YR: word) - Рисует защтpихованный
эллипс, используя X,Y как центр и XR,YR как горизонтальный и вертикальный радиусы.
RestorCRTMode - Восстанавливает текстовый режим работы экрана;
OutText(Text: string) - Выводит текстовую строку на экран.
OutTextXY(X,Y: integer; Text: string) - Выводит текст в заданное
место экрана.

Пример программы построения графика функции у=2+х*х.
program graphik; {файл grafikf.pas}
uses graph; {подключение модуля GRAPF}
var a,b,x,y: integer; {a,b-переменные, определяющие тип драйвера и видеорежим соответственно}
begin
detectgraph(a,b); {авто определение типа драйвера и видеорежима}
initgraph(a,b,'E:\TP\BGI'); {инициализация графического режима}
setgraphmode(2); {установка нового режима (2), очистка экрана}
setBKcolor(0); {основной цвет фона - черный}
setcolor(4); {основной цвет рисования - красный}
moveTO(100,100); {смещает курсор}
lineRel(50,50); {вычерчивание линии по приращению от текущего
указателя}
readln; {пауза до нажатия клавиши }
setcolor(2); {основной цвет рисования - зеленый}
line(100,100,100,50);{рисует линию от т.Х1,У2 до т.Х2,У2}
readln; {пауза до нажатия }
setcolor(5); {основной цвет рисования - фиолетовый}
putPixel(0,0,12); {выводит точку цветом 12 с координатой 0,0}
readln; {пауза до нажатия }
moveTO(1,2); {смещает курсор к точке с координатой 1,2}
for x:=0 to 20 do
begin
y:=2+ x*x;
lineTO(x,y); {рисует линию от текущего указателя к точке с
координатой Х,У}
end;
readln; {пауза до нажатия ввода}
Settextstyle(1,0,5);
OutTextXY(50,400,'график функции у=2+х*х'); {выводит текст в заданное место экрана}
readln; {пауза до нажатия }
putPixel(639,479,14);{выводит точку цветом 14 с координатой
639,479}
readln; {пауза до нажатия }
closegraph;{закрывает графический режим и восстанавливает текстовый}
end.



<== предыдущая лекция | следующая лекция ==>
Файловый тип. Файлы. Требования к имени. Связывание. | Библиотечный модуль CRT. Работа с клавиатурой, экраном, звуковым генератором.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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