ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.07.2024
Просмотров: 25
Скачиваний: 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