- •Язык Pascal в популярном изложении
- •§ 1 Постоянные и переменные величины
- •§ 2 Арифметические действия. Элементарные функции
- •§ 3 Арифметические выражения. Скобки
- •§ 4 Вычисление значения арифметического выражения. Команда присваивания
- •§ 5 Типы числовых данных
- •§ 6 Описание числовых переменных
- •§ 7 Обобщение по вещественному типу данных
- •§ 8 Обобщение по целому типу данных
- •§ 9 Простая программа. Команда Writeln
- •§ 10 Исполнение программы. И снова о команде Writeln
- •§ 11 Исполнение программы (продолжение). Сообщения об ошибках
- •§ 12 Учимся самостоятельно писать программы и отлаживать их на компьютере
- •§ 13 Строка символов в команде Writeln
- •§ 14 Ввод исходных данных. Команда Readln
- •§ 15 Отношения между величинами
- •§ 16 Разветвляющиеся алгоритмы. Полное ветвление
- •§ 17 Разветвляющиеся алгоритмы. Неполное ветвление
- •§ 18 Давайте попробуем разработать программу - тест
- •§ 19 Команда множественного выбора case
- •§ 20 Графика в паскаЛе
- •§ 21 Цикл пока в языке Паскаль
- •§ 22 Цикл для каждого в языке Паскаль
- •§ 23 Работа цикла для каждого (for)
- •§ 24 Модификация цикла для каждого
- •§ 25 Некоторые специальные процедуры и функции, используемые в языке
- •§ 26 Разработка мультика
- •§ 27 Строковый тип данных
- •§ 28 Строковые процедуры и функции
- •§ 29 Массивы, размерность, длина, описание массивов
- •§ 30 Процедуры в языке Паскаль
- •1) Процедуры без параметров;
- •§ 31 Процедуры без параметров
- •§ 32 Процедура с параметрами-значениями
- •§ 33 Процедуры с параметрами-переменными
- •§ 33 Функции, определенные пользователем
- •§ 34 Несколько рекомендаций по использованию процедур и функций
§ 20 Графика в паскаЛе
Аппаратная поддержка.
Монитор - пассивная роль.
Адаптер - формирует изображение.
Изучая графику, изучаем возможности этих двух вещей. Адаптера в большей степени.
Экран в виде точек. Их может быть разное число.
Координатная сетка
(
0э,0э)
Хэ(639э,0э)
Уэ (0э,479э) VGAHI
или (0э,349э) VGAMED
или (0э,199э) VGALO
Адаптер может быть охарактеризован:
количеством точек по Х;
количеством точек по У;
количеством цветов, которое может принимать каждая точка.
Такое состояние называется режимом работы.
Мощность адаптера определяется:
количеством возможных режимов его работы;
качеством максимального режима.
Типы адаптеров (см Фигурнова)
CGA
EGA
VGA лучший из наиболее распространенных поддерживает и CGA и EGA.
Режимы работы VGA
а) текстовый 80*25*16 (столбцы * строки * цвета )
б) текстовый 80*40*16
в) графический 640*480*16, называется VGAHI. Точка здесь почти квадратик.
г) графический 640*350*16, называется VGAMED. Точка здесь чуть вытянута по вертикали.
д) графический 640*200*16, называется VGALO. Точка здесь вытянута по вертикали еще больше.
Точка экрана в графическом режиме называется pixel.
Реализация возможностей адаптера в Pascal
Для работы с графикой необходимо:
1. на диске обязательно иметь файл EGAVGA.BGI (это программа управления адаптером). Лучше записать его в текущий каталог;
2. в самом начале записать USES GRAPH;
3. описать две переменные, одной из которых в исполняемой части программы будет присваиваться значение типа адаптера, а другой - тип режима его:
VAR
ADAPTER:INTEGER;
MODE:INTEGER;
4. в исполняемой части программы присвоить переменным ADAPTER и MODE значение типа адаптера и типа его режима соответственно.
Напомним типы адаптеров: CGA EGA VGA
и типы режимов: VGAHI VGAMED VGALO
Например,
ADAPTER:=VGA;
MODE:=VGAHI;
5. подключить адаптер командой
initgraph(тип адаптера, тип режима, 'каталог, где лежит EGAVGA.BGI')
т.е. запись будет выглядеть так:
initgraph(adapter,mode,'');
В этой записи не указан каталог, где находится EGAVGA.BGI, это можно не делать, если он лежит в текущем каталоге.
Задания к § 20
Нарисовать картинку и раскрасить ее.
И
так,
подключкние графики будет выглядеть
так:
Uses Graph;
VAR
Adapter, Mode : integer;
BEGIN
Adapter:=VGA;
Mode:=VGAHI;
Initgraph(Adapter,Mode,’C:\ProgSys\BP\BGI’);
.....................
.....................
.....................
End.
Процедуры модуля GRAPH:
SetBkColor(цвет); -установка цвета фона:
СlearDevice; очистка экрана
Putpixel(X,Y,цвет); - рисование точки
SetColor(цвет);- установка цвета для ниже перечисленных процедур
Line(X1,Y1,X2,Y2); -рисование линии
Rectangle(X1,Y1,X2,Y2) -рисование незакрашенного прямоугольника по координатам верхнего левого и нижнего правого углов, используя текущий тип и цвет линий
Сircle(X,Y,R);-рисование окружности
Arc(X,Y,нач_угол, кон_угол,R);рисование дуги окружности
SetFillStyle(тип заливки,цвет);-установка типа и цвета заполнения для процедур, записанных ниже
тип - число от 1 до 12
Bar(X1,Y1,X2,Y2);-рисование закрашенного прямоугольника по координатам верхнего левого и нижнего правого угла
FloodFill(X,Y,цвет);- заливка замкнутого контура. Х и У точка, начиная с которой идет заливка, цвет - цвет границы до которой заливать
OutTextХУ(Х,У,’Text’); -вывод текста
СloseGraph; -конец работы с графикой
