Функция ArcTo

Declare Function ArcTo Lib "gdi32" (ByVal hdc As Long, _
    ByVal nLeftRect As Long, ByVal nTopRect As Long, ByVal nRightRect As Long, _
	ByVal nBottomRect As Long, ByVal nXRadial1 As Long, ByVal nYRadial1 As Long, _
	ByVal nXRadial2 As Long, ByVal nYRadial2 As Long) As Long

ArcTo рисует дугу на устройстве, используя текущее перо контекста. После вывода дуги, текущая точка контекста устанавливается в последнюю точку дуги. Эллипс, на котором рисуются дуги, находится в пределах координат ограничительного прямоугольника. Начальная и конечная точки определяются двумя величинами. Направление вывода дуги зависит от текущей установки устройства.

hdc
Описатель контекста устройства для вывода дуги
nLeftRect
Координата x верхней левой точки прямоугольника, ограничивающего эллипс
nTopRect
Координата y верхней левой точки прямоугольника, ограничивающего эллипс
nRightRect
Координата x нижней правой точки прямоугольника, ограничивающего эллипс
nBottomRect
Координата y нижней правой точки прямоугольника, ограничивающего эллипс
nXRadial1
Координата x радиальной точки, определяющей начальную точку дуги
nYRadial1
Координата y радиальной точки, определяющей начальную точку дуги
nXRadial2
Координата x радиальной точки, определяющей конечную точку дуги
nYRadial2
Координата y радиальной точки, определяющей конечную точку дуги

Пример

' Рисуем дугу, которая формирует верхнюю половину эллипса. Эллипс
' отцентрирован в (100, 100), имеет ширину 200, и имеет высоту 100. Дуга оттянута
' на окне Form1, использующем черное сплошное перо
Dim hpen As Long  ' описатель черного сплошного пера
Dim holdpen As Long  ' описатель старого пера, используемому Form1
Dim retval As Long  ' возвращаемое значение

' Получаем описатель черного пера
' и устанавливаем его текущим пером Form1
hpen = GetStockObject(BLACK_PEN)  ' получаем описатель пера формы
holdpen = SelectObject(Form1.hDC, hpen) 
' Эллипс, определенным ограничивающим прямоугольником (0,50)-(200,150)
retval = ArcTo(Form1.hDC, 0, 50, 200, 150, 200, 100, 0, 100)

' Восстанавливаем старое перо Form1
retval = SelectObject(Form1.hDC, holdpen)

Смотри также

AngleArc, Arc, Ellipse, GetArcDirection, SetArcDirection

Категория

Линии и кривые

Реклама