Функция PolyBezier

Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long

PolyBezier рисует серию кривых Безье

hdc
Дескриптор контекста устройства для вывода кривых Безье
lppt
Массив, содержащий все контрольные и завершающие точки для кривых Безье. Каждая кривая Безье имеет четыре точки для вывода кривой: Первая и последняя задают начало и конец кривой линии, остальные две точки являются контрольными и определяют направление и кривизну
cPoints
Общее число точек массива lppt

Пример

' Рисуем две кривые Безье на форме Form1
' используя сплошное черное перо
Dim hPen As Long  ' дескриптор пера
Dim hOldPen As Long  ' дескриптор старого пера
Dim pts(0 To 6) As POINTAPI  ' массив точек для кривых
Dim lRet As Long  ' возвращаемое значение

' Загрузим точки, определяющие две кривые Безье в массив
pts(0).x = 100: pts(0).y = 100  ' стартовая точка 1 кривой
pts(1).x = 125: pts(1).y = 75   ' контрольная точка
pts(2).x = 150: pts(2).y = 125  ' контрольная точка
pts(3).x = 175: pts(3).y = 100  ' финишная точка 1 кривой
' Следующие три точки задают рисунок второй кривой, начиная с (175,100)
pts(4).x = 225: pts(4).y = 50  ' контрольная точка (225,50) 
pts(5).x = 300: pts(5).y = 150 ' контрольная точка  (300, 150)
pts(6).x = 250: pts(6).y = 200  ' финишная точка 2 кривой (250,200)

' Получим дескриптор пера
hPen = GetStockObject(BLACK_PEN)
' Выберем перо для Form1
hOldPen = SelectObject(Form1.hDC, hPen)
' Выводим наши кривые
lRet = PolyBezier(Form1.hDC, pts(0), 7)
' Выбираем предыдущее перо для Form1
lRet = SelectObject(Form1.hDC, hOldPen)

Смотри также

PolyBezierTo

Категория

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