Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тurbo Pascal 7+.doc
Скачиваний:
12
Добавлен:
24.12.2018
Размер:
10.09 Mб
Скачать

9.3. Рисуем простейшие фигуры

Начиная с этого момента будем для определенности считать, что графический режим вашего монитора считает экран разделенным на 640 пикселов в ширину и 480 пикселов в высоту, и исходя из этого буду писать программы. Если у вас режим другой, то вы легко сможете сделать поправки в программах.

Попробуем нарисовать точку и прямоугольник. Пусть мы хотим их видеть в следующем месте экрана:

Для этого мы пишем обращения к двум процедурам:

Для точки - PutPixel(14,6, Yellow)

Для прямоугольника - Rectangle(4,2,16,10)

Как видим, при обращении к процедуре PutPixel в скобках нужно указывать 3 элемента, у Rectangle - 4. Будем называть элементы, разделенные запятыми внутри скобок, параметрами процедур.

Смысл параметров процедур PutPixel и Rectangle ясен из рисунка. В PutPixel первый параметр - горизонтальная координата точки, второй - вертикальная, третий - цвет точки (желтый). В Rectangle первая пара параметров - координаты любого из углов прямоугольника, вторая пара - координаты противоположного ему угла (только не соседнего). В каждой паре первой идет горизонтальная координата, второй - вертикальная. Цвет прямоугольника задается в другой процедуре, о которой разговор позже.

Модуль Graph позволяет удобно использовать всего лишь 16 цветов. Вот они:

0

Black

Черный

1

Blue

Синий

2

Green

Зеленый

3

Cyan

Голубой

4

Red

Красный

5

Magenta

Фиолетовый

6

Brown

Коричневый

7

LightGray

Светло-серый

8

DarkGray

Темно-серый

9

LightBlue

Ярко-синий

10

LightGrecn

Ярко-зеленый

11

LightCyan

Ярко-голубой

12

LightRed

Розовый

13

LightMagenta

Малиновый

14

Yellow

Желтый

15

White

Белый

Стандартный русский перевод цвета в этой таблице не всегда точен. Например, LightMagenta только с большой натяжкой можно назвать малиновым цветом.

В обращениях к процедурам, имеющим дело с цветом, вместо английского названия цвета можно писать соответствующее число. Например, вместо PutPixel(14,6, Yellow) можно написать PutPixel(14,6,14).

Вы привыкли к такой системе координат:

В компьютере же применяется такая:

Как видите, ось у направлена вниз. Это не очень привычно. Если вас это раздражает, то в разделе 13.2 вам будет предложено исправить ситуацию.

Напишем программу, которая рисует точку, прямоугольник, окружность и отрезок прямой так, как это показано на рисунке:

USES Graph;

VAR Device, Mode :Integer;

BEGIN

Device:=0;

InitGraph(Device, Mode, '<путь к графическим драйверам>');

PutPixel(50,100,White);

Rectangle(150,150,50,200); {правый верхний и левый нижний углы}

Circle(200,100,50); {окружность}

Line(100,50,250,150); {отрезок прямой}

ReadLn;

CloseGraph

END.

Пояснения. Отрезок прямой рисуется процедурой Line. Мы знаем, что отрезок прямой можно построить, если известно положение его двух крайних точек. Они-то и задаются в обращении к процедуре. Первая пара параметров - координаты одной точки, вторая пара - другой.

Окружность можно построить, если известно положение центра и радиус. Окружность рисуется процедурой Circle, первые два параметра которой - координаты центра, третий - радиус.

Попробуем теперь нарисовать эллипс с центром в точке х=200, у=150:

Это выполнит процедура Ellipse. Вот ее вызов Ellipse(200,150,0,360,100,40). Если вы хотите нарисовать не полный эллипс, а только часть его, вместо 0 укажите начальный угол дуги эллипса, скажем 90, а вместо 360 - конечный угол, скажем 180.

Процедура ClearDevice стираетгнорьт с экрана в графическом режиме все.

Задание 67

Нарисуйте снеговика: