VB.Net Tutorial/2D Graphics/GraphicsPathIterator

Материал из VB Эксперт
Версия от 15:54, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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
       " Create a Rectangle
       Dim rect As New Rectangle(50, 50, 100, 50)
       " Create a Graphics path
       Dim path As New GraphicsPath
       Dim ptsArray As PointF() = {New PointF(20, 20), New PointF(60, 12), New PointF(100, 20)}
       " Add a curve, rectangle, ellipse, and a line
       path.AddCurve(ptsArray)
       path.AddRectangle(rect)
       rect.Y += 60
       path.AddEllipse(rect)
       path.AddLine(120, 50, 220, 100)
       " Draw path
       g.DrawPath(Pens.Blue, path)
       " Create a Graphics path iterator
       Dim pathIterator As New GraphicsPathIterator(path)
       " Display total points and sub paths
       Console.WriteLine("Total points = " & pathIterator.Count)
       Console.WriteLine("Sub paths = " & pathIterator.SubpathCount)
       pathIterator.Rewind()
       " Read all subpaths and their properties
       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>