Sub CurveDrawA(ByVal Points As Any ptr,ByVal countPoints As Integer,ByVal RoundPoints As Single=0.5,ByVal ColorPen As integer=&hff000000,ByVal flagcolorBK As Integer=1,ByVal ColorBk As integer=&hff000000,ByVal brushPen as Any Ptr=0,byval brushBk as Any Ptr=0,ByVal widthPen As Single=1,ByVal Closed As Integer=0,ByVal fillmode As Integer=0)
Используется для рисования канонических сплайнов
Points - массив типа PointF с точками
countPoints - кол-во точек
RoundPoints - сила закругление точек
ColorPen - цвет рамки сплайна
flagcolorBK - флаг, отвечающий за заполнение цветом, может быть:
0 - не заполнять цветом
1 - заполнять цветом, указанным в параметре ColorBk
2 - заполнять с помощью кисти, указанным в параметре brush.
ColorBk - цвет заполнения сплайна
brushPen - кисть для заполнения рамки сплайна (может быть создана функцией CreateBrushA (градиэнт или текстура)). Если в параметре будет 0, то используется ColorPen
brushBk - кисть для заполнения сплайна (может быть создана функцией CreateBrushA (градиэнт или текстура))
widthPen - ширина рамки сплайна.
Closed - может быть:
0 - не соединять первую и последнюю точку
1 - соединять первую и последнюю точку
fillmode - режим заливки внутренних областей (подробнее ), может быть:
FillModeAlternate= 0
FillModeWinding=1
Windows
' (демонстрирует режим FillModeAlternate а так же два режима Closed)
#Include "window9.bi"
Dim As Any Ptr Gpbitmap=Create_ImageA(750,270)
Dim As Hbitmap bmp
Dim As HWND hw
Dim As PointF Points(4)
Dim As Single dAngle
For u As single=0.5 To 1.5 Step 1.0
for i As Integer=0 to 4
dAngle = (i * 0.8 - 0.5) * 3.1415926535
points(i).x=(200 *(u + 0.48 * Cos(dAngle)))
points(i).y=(200 *(0.50 + 0.48 * Sin(dAngle)))
Next
ImageStartDrawA(Gpbitmap)
ModeDrawA(4)
CurveDrawA(@Points(0),5,0.5,&hff0000ff,1,&hFF0000FF,,,,Int(u),0)
StopDrawA
Next
hw=OpenWindow("GDI+",100,100,420,230)
CenterWindow(hw)
bmp=CreateHBitmapFromGpBitmap(GpBitmap,&hf0f0F0)
WindowBackgroundImage(hw,Bmp)
Do:Loop Until WaitEvent()= eventclose
FreeGpBitmap(Gpbitmap):Free_Image(bmp)
Created with the Personal Edition of HelpNDoc: Easily create Web Help sites