Clip by GraphicPath : Clip « 2D Graphics « VB.Net Tutorial






Clip by GraphicPath
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

public class GraphicPathClip
   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 txt As String = "www.java2s.com"
        Dim graphics_path As New GraphicsPath
        graphics_path.AddString(txt, _
            New FontFamily("Times New Roman"), _
            FontStyle.Bold, 150, _
            New Point(0, 0), _
            New StringFormat)
        e.Graphics.SetClip(graphics_path)

        e.Graphics.FillRectangle(Brushes.White, Me.ClientRectangle)

        Dim rnd As New Random
        Dim x1, y1, x2, y2 As Integer
        For i As Integer = 1 To 400
            x1 = rnd.Next(-20, Me.ClientSize.Width - 1)
            y1 = rnd.Next(0, Me.ClientSize.Height - 1)
            x2 = rnd.Next(500, Me.ClientSize.Width - 1)
            y2 = rnd.Next(0, Me.ClientSize.Height - 1)
            e.Graphics.DrawLine(Pens.Black, x1, y1, x2, y2)
        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








17.20.Clip
17.20.1.CombineMode.ExcludeCombineMode.Exclude
17.20.2.Rectangle clipped to EllipseRectangle clipped to Ellipse
17.20.3.Clip RegionClip Region
17.20.4.Clip Region XorClip Region Xor
17.20.5.Clip Region UnionClip Region Union
17.20.6.Clip Region ExcludeClip Region Exclude
17.20.7.Clip Region IntersectClip Region Intersect
17.20.8.Clip by GraphicPathClip by GraphicPath