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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rct.Top = 10;

rct.Left = 10;

rct.Bottom = 50;

rct.Right = 50;

Image1->Canvas->Rectangle(rct); // нарисовать прямоугольник

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

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

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

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

Image1->Canvas->FillRect(rct);

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

Image1->Canvas->RoundRect(xl, yl, x2, y2, x3, уЗ)

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

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