ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.07.2024

Просмотров: 24

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тема10. «Графические возможности среды Turbo-Pascal»

1.Режимы работы экрана

1.1.Текстовый режим.

1.2. Графический режим.

2.Основные принципы реализации графических возможностей

3.Основные процедуры работы с графикой (базовая графика)

4.Построение графика функции и диаграммы. Оконные и реальные координаты

1.1.Текстовый режим.

Все рассмотренные нами выше средства программирования в среде Turbo-Pascal относятся к, так называемому, текстовому режиму работы компьютера, при котором все символы могут располагаться на экране в 25 строках и 80 позициях (столбцах).

Режим задается с помощью процедуры Texmode(<константа>)

Здесь константа определяет режим работы экрана

BW40 черно-белый режим со средней разрешающей способностью (25 строк, 40 столбцов, монохромный);

BW80 черно-белый режим с высокой разрешающей способностью (25 строк, 80 столбцов,

монохромный);

 

С40

цветной режим со средней разрешающей способностью (25 строк, 40 столбцов);

 

С80

цветной режим с высокой разрешающей способностью (25 строк, 80 столбцов)

 

Вопрос изучается самостоятельно по методическому пособию «Программирование в

 

интегрированной среде Turbo Pascal» лабораторные работы 20-23.

1

Тема10. «Графические возможности среды Turbo-Pascal»

1. 2. Графический режим

Для создания качественного изображения рисунков, схем, графиков функций и т.д. в языке Turbo-Pascal предусмотрен специальный графический режим

работы.

Этот режим работы компьютера обеспечивается специальными аппаратными устройствами - графическими адаптерами (CGA, EGA, VGA, SVGA, Hercules и.д.).

Адаптер «разбивает» экран на более мелкие, чем в текстовом режиме, элементы - точки (pixel), закрашиваемые в тот или иной цвет. Каждая такая точка имеет две координаты X, Y. Начало системы координат помещено в левый верхний угол (0,0). Ось OX направлена как обычно вправо, ось OY - вертикально вниз. Максимальное число точек по горизонтали и вертикали определяется типом адаптера и режимом его работы.

Например адаптер SVGA разбивает экран на 640 х 480 точек и поддерживает 265 цветов.

2


Тема10. «Графические возможности среды Turbo-Pascal»

2. Основные принципы реализации графических возможностей

Все средства графики в среде Turbo-Pascal поддерживаются стандартным модулем Graph, поэтому если в конструируемой программе предусматривается работа с графикой, необходимо в ее начале поместить директиву

Uses Graph;

Для того, чтобы переключить режим работы компьютера из текстового режима в

графический необходимо воспользоваться стандартной процедурой инициализации графики

InitGraph(GraphDriver, GraphMode, 'C:\TP7\BGI');

Здесь GraphDriver - переменная целого типа в которой содержится код драйвера графического устройства (адаптера), GraphMode - переменная целого типа в которой содержится код графического режима, строка - 'C:\TP7\BGI' указывает путь к каталогу BGI (Borland Graphics Interface), в котором размещаются графические драйверы. Для каждой машины это значение определяется строго индивидуально.

GraphDriver := 9; GraphDriver := Detect;

Для того, чтобы после выполнения графической части программы, вернуться в обычный текстовый режим работы компьютера, необходимо выполнить процедуру

закрытия графического режима

CloseGraph;

3

Тема10. «Графические возможности среды Turbo-Pascal»

3. Основные процедуры работы с графикой (базовая графика)

Рассмотрим только наиболее часто встречающиеся процедуры и функции модуля Graph:

PutPixel(x,y,c) – вывод на экран точки с координатами х и у, цветом с

Line(X1,Y1,X2,Y2) – рисование линии между двумя точками

LineRel(dX,dY) – рисование линии из текущей позиции в точку со смещением dX и dY

LineTo(X,Y) - рисование линии из текущей позиции в точку с координатами X и Y MoveTo(X,Y) - устанавливает указатель координат в точку с координатами X и Y

SetColor(c) – установка цвета рисования

SetbkColor(c) – установка цвета фона

4

Тема10. «Графические возможности среды Turbo-Pascal»

Arc(X,Y,<н.уг>,<к.уг>,r) – рисование дуги окружности

Circle(X,Y,r) – рисование окружности

Ellipse(X,Y,<н.уг>,<к.уг>,rx,ry) – рисование дуги эллипса

Rectangle(x1,y1,x2,y2) – рисование контура прямоугольника

Bar(x1,y1,x2,y2) – рисование закрашенного прямоугольника

SetFillStily(w,c) – установка типа и цвета закраски области

0

– нет

5 –

1

– сплошная

6 –

2

7 –

3

8 –

4

9 –

GetMaxX – получение максимального номера точки по оси Х GetMaxY – получение максимального номера точки по оси Y

Randomize – инициализация генератора случайных чисел Random(х) – возвращает случайное число от 0 до Х

5


Тема10. «Графические возможности среды Turbo-Pascal»

Пример 1. Вывести точку желтого цвета в центр экрана компьютера.

Program Point(input,output);

Uses Crt, Graph;

Var xc,yc : Integer;

GraphDriver,GraphMode : Integer;

Begin GraphDriver:=Detect;

InitGraph(GraphDriver,GraphMode,'C:\TP7\BGI'); xc:=GetMaxX div 2;

yc:=GetMaxY div 2; PutPixel(xc,yc,Yellow) Repeat Until KeyPressed

CloseGraph End.

6

Тема10. «Графические возможности среды Turbo-Pascal»

Пример 2. Построить красный прямоугольник во весь экран и его диагонали.

Uses Crt,Graph;

Var GraphDriver, GraphMode, x,y,xc,yc, :Integer;

Begin GraphDriver:=Detect;

InitGraph (GraphDriver, GraphMode,'C:\TP7\BGI'); x:=GetMaxX; y:=GetMaxY;

setcolor(Red);

line(0,0,0,y);

line(x,0,x,y);

line(0,0,x,0);

line(0,y,x,y);

line(0,0,x,y);

line(y,0,x,0);

Repeat Until KeyPressed; CloseGraph

End.

7