Mega Code Archive

 
Categories / VB.Net by API / System Drawing Drawing2d
 

GraphicsPathIterator Count

Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class GraphicsPathIteratorDemo    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)         Dim g As Graphics = e.Graphics         Dim rect As New Rectangle(50, 50, 100, 50)         Dim path As New GraphicsPath         Dim ptsArray As PointF() = {New PointF(20, 20), New PointF(60, 12), New PointF(100, 20)}         path.AddCurve(ptsArray)         path.AddRectangle(rect)         rect.Y += 60         path.AddEllipse(rect)         path.AddLine(120, 50, 220, 100)         g.DrawPath(Pens.Blue, path)         Dim pathIterator As New GraphicsPathIterator(path)         Console.WriteLine("Total points = " & pathIterator.Count)         Console.WriteLine("Sub paths = " & pathIterator.SubpathCount)         pathIterator.Rewind()         Dim i As Integer         For i = 0 To pathIterator.SubpathCount - 1             Dim strtIdx, endIdx As Integer             Dim bClosedCurve As Boolean             pathIterator.NextSubpath(strtIdx, endIdx, bClosedCurve)             Console.WriteLine("Start Index = " & strtIdx)             Console.WriteLine("End Index = " & endIdx)             Console.WriteLine("IsClosed = " & bClosedCurve)         Next i   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