CurveDrawA

2D_DrawA ››
Parent Previous Next

CurveDrawA

Синтаксис

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