Простейшие геометрические фигуры

Для рисования прямоугольника можно

воспользоваться методом Rectangle(). Процедура является перегружаемой и в качестве параметров принимает координаты верхнего левого (X1, Y1) и нижнего правого (X2, Y2) углов прямоугольника или координаты, заданные в формате TRect (рис. 10.5):

 

procedureRectangle(X1, Y1, X2, Y2:

Integer); overload;

procedureRectangle(constRect:

TRect); overload;

 

Прямоугольник со скругленными углами получится при использовании метода:

procedureRoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);

Первые четыре параметра соответствуют координатам вершин функции Rectangle(). Значения X3 и Y3 определяют степень сглаживания углов, задавая ширину и высоту скругляющего эллипса (рис. 10.6).

 

Вы уже заметили, что большинство методов GDI рисуют простейшие геометрические фигуры внутри ограничивающей прямоугольной области. Например, эллипс (рис. 10.7) вписывается в рамки прямоугольника с координатами, аналогичными процедуре Rectangle():

procedureEllipse(X1, Y1, X2, Y2: Integer); overload;

procedureEllipse(constRect: TRect); overload;

 

Следующие три родственных метода посвящены прорисовке части эллипса:

procedureArc(X1, Y1, X2, Y2, X3, Y3, X4, Y4 : Integer);

procedureChord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

procedurePie(X1, Y1, X2, Y2, X3, Y3, X4, Y4 : Longint);

 

Процедура Arc() чертит сегмент, Chord() – хорду, а Pie() – сектор эллипса (рис. 10.8). Как вы уже догадались, все изображения вписываются в эллипс (а точнее в прямоугольник, содержащий эллипс) с координатами вершин (X1, Y1) и (X2, Y2). Логические координаты (X3, Y3) и (X4, Y4) описывают воображаемые лучи, исходящие из центра эллипса. Места пересечения лучей с контуром эллипса соединяются дугой. Начальной точкой дуги считается пересечение эллипса с лучом (X3, Y3), конечной – с лучом (X4, Y4).

 

Для рисования сегмента окружности (рис. 10.9) пользователи Windows NT могут воспользоваться функцией Windows API AngleArc() (к сожалению, эта функция не поддерживается в Windows 95/98/Me):

 

functionAngleArc(HDC: hdc; X,Y: integer; dwRadius: Longword; eStartAngle, eSweepAngle : real):boolean;

 

В качестве параметров функции AngleArc() выступают: HDC – дескриптор контекста устройства; X и Y – координаты центра окружности; dwRadius – радиус окружности в пик селах; eStartAngle – угол (в градусах) относительно оси Х, определяющий начальную точку сектора; eSweepAngle – угол раскрытия сектора.

Методы Rectangle(), Ellipse(), RoundRect(),

Chord() и Pie() предназначены не только

для рисования простейших геометрических фигур, но и для закрашивания текущей кистью ограниченной этими фигурами области. По умолчанию кисть сплошная и белая.








Дата добавления: 2016-03-15; просмотров: 910;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.