BOOL Arc(HDC hdc,

Дуги

Рисование связанных отрезков

BOOL LineTo(

Рисование прямой линии

Для создания прямой линии используется функция LineTo:

HDC hDC, // дескриптор контекста устройства;

int nX, // х - координата конечной точки;

int nY // у - координата конечной точки

);

Вызов функции LineTo после вызова функции MoveToEx осуществит рисование от текущей точки до указанной конечной точки отрезка. Текущая позиция пера устанавливается в точку nX, nY.

Например: нарисовать прямоугольник у которого последняя точка совпадает с первой.

{

POINT pt[5]={{100,100},

{200,100},{200,200},{100,200},{100,100}};

MoveToEx(hDC,pt[0].x,pt[0].y,NULL);

for (int i=0; i<5;++1)

LineTo(hDC,pt[i].x,pt[i].y)

}

 

С помощью функции Polyline можно нарисовать последовательность связанных отрезков. Прототип:

BOOL Polyline (HDC hdc, CONST POINT* lppt, int cPoints),

 

где lppt – это адрес массива точек, а cPoints – количество точек. Пример2: рисования прямоугольника.

{

POINT pt[5]={{100,100},

{200,100},{200,200},{100,200},{100,100}};

Polyline(hDC, pt, 5);

}


Дуги в Windows рисуются как часть эллипса.

Для рисования дуг предназначены функции Arc, ArcTo и AngleArc. Прототип Arc:

int x1, int y1, // верхний левый угол

int x2, int y2, // правый нижний угол

int x3, int y3, // начало дуги

int x4, int y4 // конец дуги

)

 
 
(x3,y3)


(x4,y4)
(x2,y2)
(x1,y1)