Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа20-25.doc
Скачиваний:
9
Добавлен:
31.08.2019
Размер:
2 Mб
Скачать

Ломаная линия

Метод Polyline вычерчивает ломаную линию. В качестве параметров методу передается массив типа TPoint, содержащий координаты узловых точек линии, и количество звеньев линии. Метод Polyline вычерчивает ломаную линию, последовательно соединяя точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т.д. Например, приведенный ниже фрагмент кода рисует ломаную линию, состоящую из трех звеньев.

TPoint p[4]; // координаты начала, конца и точек перегиба

// задать координаты точек ломаной

р[0].х=100;

р[0].у=100; // начало

р[1].х=100;

р[1].у=150; // точка перегиба

р[2].х=150;

р[2].у=150; // точка перегиба

р[3].х=150;

р[3].у=100; // конец

Canvas->Polyline(p,3); // ломаная из трех звеньев

Метод Polyline можно использовать для вычерчивания замкнутых контуров. Для этого надо, чтобы первый и последний элементы массива содержали координаты одной и той же точки.

Прямоугольник

Метод Rectangle вычерчивает прямоугольник. В инструкции вызова метода надо указать координаты двух точек — углов прямоугольника. Например, оператор

Canvas->Rectangle(10,10,50,50)

рисует квадрат, левый верхний угол которого находится в точке (10, 10), а правый нижний в точке (50, 50).

Цвет, вид и ширину линии контура прямоугольника определяют значения свойства Реn, а цвет и стиль запивки области внутри прямоугольника — значения свойства Brush той поверхности, на которой метод рисует прямоугольник. Например, следующие операторы рисуют флаг Российской Федерации.

Canvas->Brush->Color=lWhite; // цвет кисти — белый

Canvas->Rectangle(10,10,90,30);

Canvas->Brush->Color=clBlue; // цвет кисти — синий

Canvas->Rectangle(10,30,90,50);

Canvas->Brush->Color=clRed; // цвет кисти — красный

Canvas->Rectangle(10,50,90,70);

Вместо четырех параметров — координат двух диагональных углов прямоугольника — методу Rectangle можно передать один параметр - структуру типа TRect, поля которой определяют положение диагональных углов прямоугольной области. Следующий фрагмент кода демонстрирует использование структуры TRect. В качестве параметра метода Rectangle.

TRect ret; // прямоугольная область

ret.Top=10;

ret.Left=10;

ret.Bottom=50;

ret.Right = 50;

Canvas->Rectangle(ret); /* нарисовать

прямоугольник */

Есть еще два метода, которые вычерчивают прямоугольник. Метод FillRect вычерчивает закрашенный прямоугольник, используя в качестве инструмента только кисть (Brush), а метод FrameRect — только контур и использует только карандаш (Реп). У этих методов только один параметр — структура типа TRect. Поля структуры TRect содержат координаты прямоугольной области. Значения полей структуры TRect можно задать при помощи функции Rect.

Например:

TRect ret; //область, которую надо закрасить

ret = Rect(10,10,30,50); // координаты области

Canvas->Brush->Color = clRed; // цвет закраски

Canvas->FillRect(ret) ;

Метод RoundRec вычерчивает прямоугольник со скругленными углами. Инструкция вызова метода RoundRec в общем виде выглядит так:

Canvas->RoundRec(xl,yl,x2,у2,хЗ,уЗ);

Параметры x1, y1, x2, y2 определяют положение углов прямоугольника, а параметры х3 и у3 — размер эллипса, одна четверть которого используется для вычерчивания скругленного угла (рис. 22.2).

Рис. 2.2. Метод RoundRec вычерчивает прямоугольник со скругленными углами