Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Часть_1.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
974.85 Кб
Скачать

11.3. Экран и окно

Окно – прямоугольная область экрана, выполняющая все функции полного экрана. После установки окна вся остальная площадь экрана как бы не существует, и весь ввод–вывод осуществляется через окно (активным может быть только одно окно). По умолчанию окно занимает весь экран. Рассмотрим основные функции для работы с окном.

Создать окно: SetViewPort (x1, y1, x2, y2: integer; c: boolean), где x1, y1, x2, y2 – координаты углов;

с = true – рисунок будет отсекаться при выходе за границы окна;

с = false – не будет.

После создания окна за точку отсчёта принимается верхний левый угол окна.

Очистить окно: ClearVierPort.

Очистка всего экрана и восстановление координатной системы полного экрана: ClearDevice.

11.4. Установка цвета, заполнения и палитры

Цвет графических объектов устанавливается процедурой SetColor (Color: word). Например, для адаптеров EGA / VGA SetColor (2) установит зелёный цвет, (4) – красный, (6) – коричневый и т. д.

Цвет фона SetBkColor (Color: Wd).

GetPaletteSize: integer – число цветов в текущей палитре (палитру можно изменить).

SetFillStyle (Fill: 0..12, Color: word); – цвет и стиль заполнения изображения.

11.5. Построение простейших геометрических образов

Вывод точки: PutPixel (x, y: integer; Color: word);

Вывод линии:

Line (x1, y1, x2, y2: integer); (цвета нет, он задаётся Set Color!).

LineTo (x, y: integer) – от текущего указателя до точки (x, y).

LineRel (dx, dy: integer) – от точки (x, y) до х+dx и y+dy.

SetLineStyle (TYP: word; Obr: word; T: word) устанавливается тип линии

TYP – тип линии (0 – непрерывная, 1 – линия из точек, 2 – линия из точек и штрихов, 3 – штриховая, 4 – тип пользователя);

Obr – образец ( 0 для стандартных типов);

Т – толщина линии (1 – 1 пиксель, 3 – 3 пикселя).

Н апример: SetLineStile (3, 0, 1)

Set Line Stile (0, 0, 3)

Построение прямоугольников Rectangle (x1, y1, x2, y2: integer). Область внутри прямоугольника не закрашена и совпадает по цвету с фоном. Можно использовать для построения диаграмм.

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

Например: SetFillStyle (1, 3); Bar (10, 10, 50, 100);

Bar3D (x1, y1, x2, y2: integer; G: word; V: boolean);

где G – глубина контура (число пикселей);

V – строить вершину или нет.

Например: Bar3D (10, 20, 170, 80, 40, TRUE);

Построение многоугольников DrawPoly (NumPoints: word; var Points); – произвольный многоугольник (текущего цвета и толщины);

NumPoints: word – число вершин + 1.

Points (переменная типа PointType = record x, y: word end;) – координаты каждого узла (могут быть заданы, например, массивом).

Построение дуги и окружности

Circle (x, y, Radius: word);

Arc (x, y: integer; ND, KD, Rad: word);

ND, KD – начальная и конечная дуги в радианах.

Ellipse (x, y: integer; ND, KD; XR, YR : word);

XR, YR – горизонтальная и вертикальная оси.

FloodFill (x, y: integer; Border: word); – заполняет («заливает») произвольную замкнутую фигуру, используя текущий стиль заполнения (узор и цвет); задает цвет граничной линии, до которой следует выполнять «заливку».