VB.Net by API/System.Drawing.Drawing2D/GraphicsPathIterator

Материал из VB Эксперт
Перейти к: навигация, поиск

GraphicsPathIterator.Count

<source lang="vbnet">

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


 </source>


GraphicsPathIterator.SubpathCount

<source lang="vbnet">

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


 </source>


New GraphicsPathIterator

<source lang="vbnet">

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


 </source>