Mega Code Archive

 
Categories / VB.Net / 2D Graphics
 

Use Graphics Path Iterator to get the Path information

Imports System Imports System.Windows.Forms Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Drawing.Imaging Public Class MainClass   Shared Sub Main()     Dim p As GraphicsPath = New GraphicsPath()     Dim pts() As PointF = {New PointF(50.0F, 50.0F), _                        New PointF(150.0F, 25.0F), _                        New PointF(200.0F, 50.0F)}     p.AddCurve(pts)     p.AddRectangle(New Rectangle(60, 60, 50, 50))     p.AddPie(100, 100, 80, 80, 0, 35)     Dim iter As GraphicsPathIterator = New GraphicsPathIterator(p)     Console.WriteLine("Num pts in path = " & iter.Count.ToString())     Console.WriteLine("Num subpaths in path = " & iter.SubpathCount.ToString())     Console.WriteLine("Path has curve = " + iter.HasCurve().ToString())     Dim StartIndex As Int32     Dim EndIndex As Int32     Dim i As Int32     Dim IsClosed As Boolean     ' Rewind the Iterator.     iter.Rewind()     ' List the Subpaths.     For i = 0 To iter.SubpathCount - 1       iter.NextSubpath(StartIndex, EndIndex, IsClosed)       Console.WriteLine("Start: " + StartIndex.ToString() + _                          "  End: " + EndIndex.ToString() + _                          "  IsClosed: " + IsClosed.ToString())     Next   End Sub    End Class