Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Imports System.Math
public class GraphicPathFillModeAlternate
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
public class Form1
Inherits System.Windows.Forms.Form
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
' Generate star points.
Dim cx As Integer = Me.ClientSize.Width \ 2
Dim cy As Integer = Me.ClientSize.Height \ 2
Dim radius As Integer = CInt(cy * 0.9)
Dim star_pts(4) As Point
Dim angle As Double = -PI / 2
For i As Integer = 0 To 4
star_pts(i).X = cx + CInt(radius * Cos(angle))
star_pts(i).Y = cy + CInt(radius * Sin(angle))
angle += 4 * PI / 5
Next i
Dim star_path As New GraphicsPath
star_path.AddPolygon(star_pts)
star_path.FillMode = FillMode.Alternate
e.Graphics.FillPath(Brushes.White, star_path)
e.Graphics.DrawPath(Pens.Black, star_path)
End Sub
Public Sub New()
MyBase.New()
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
End Sub
End Class
|