Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций часть 3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
79.87 Кб
Скачать

25.12. Построение прямоугольников и ломаных.

Процедура

Rectangle(X1, Y1, X2, Y2: Integer)

изображает прямоугольник с диагональю (Х1,Y1)-(X2,Y2). Для рисования квадрата надо выбрать высоту прямоугольника так, чтобы она равнялась произведению ширины на коэффициент сжатия изображения.

Чтобы построить фигуры с большим количеством вершин (также незамкнутые), используем процедуру

DrawPoly(NumPoints: Word; Var PolyPoints) .

Процедура позволяет рисовать на экране дисплея любую ломаную, заданную набором координат некоторого множества точек. Параметр NumPoints - это количество точек ломаной. Если необходимо нарисовать замкнутый многоугольник с N вершинами, то значение должно быть на единицу больше N, а координаты (N+1)-й точки должны быть такой же как первой. Под бестиповым параметром понимается переменная, состоящая из наборов двухкомпонентных записей. Поля каждой записи должны содержать координаты X и Y очередной точки.

В модуле Graph введён тип

TYPE

PoitType = RECORD

X, Y: Integer;

END;

Набор точек организуется как массив из записей типа PointType.

25.13. Управление цветами и шаблонами заливки.

В модуле предусмотрены процедуры, с помощью которых можно заполнить (залить) Определённым «узором» любую замкнутую область изображения. Вид узора задаётся шаблонами заливки. Предусмотрен ряд стандартных шаблонов. Также имеется возможность конструировать собственные.

Назначение шаблона заполнения производится процедурой

SetFillSryle(Pattern: Word; Color: Word),

где параметр Pattern определяет вид шаблона заливки, Color - цвет.

Стандартные значения параметра Pattern:

CONST

EmptyFill =0;{заливка цветом фона}

SolidFill =1;{заливка текущим цветом}

LineFill =2;{= = =}

LtSlashFill =3;{/ / /}

SlashFill =4;{жирные линии / / /}

BkSlashFill =5;{жирные линии \ \ \}

LtBkSlashFill =6;{\ \ \}

HatchFill =7;{редкая штриховка}

XHatchFill =8;{частая штриховка}

InterLeaveFill =9;{прерывистые линии}

WideDotFill =10;{редкие точки}

CloseDotFill =11;{частые точки}

UserFill =12;{узор определяется программистом}

25.14. Заливка областей изображений.

В Турбо-Паскале имеются процедуры, рисующие графические фигуры и заполняющие их по заданному шаблону.

Bar(X1, Y1, X2, Y2: Integer)

рисует прямоугольник, внутренняя область которого залита по текущему шаблону. Обычно используется для построения столбчатых диаграмм. Параметры (X1, Y1) и (X2, Y2) -координаты верхнего левого и правого нижнего углов прямоугольника.

Bar3D(X1, Y1, X2, Y2:Integer; D3: Word; Top: Boolean)

рисует параллелепипед, лицевая сторона которого заливается по текущему шаблону, а глубина задаётся в пикселах параметром D3. Параметром Top задаётся режим отображения верхней плоскости: True - отображать, False - не отображать.

Рисование сектора эллипса, который будет залит цветом по текущему шаблону:

Sector(X, Y: Integer; StartAngle, EndAngle, XRadius, YRadius: Word)

X, Y- центр,

StartAngle, EndAngle- углы

Для задания кругового сектора задать YRadius с учётом коэффициента сжатия.

Процедура

PieSlice(X, Y: Integer; StartAngle, EndAngle: Word)

рисует сектор окружности, площадь которого заливается по текущему шаблону.

Процедура

FillEllipse(X, Y: Integer; XRadius, YRadius: Word)

рисует эллипс текущим цветом и заполняет его по установленному шаблону.

86