Clip Region : Clip « 2D Graphics « VB.Net Tutorial






Clip Region
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

public class RegionClip
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class

Public Class Form1
    Private Sub Form11_Paint(ByVal sender As Object, _
          ByVal e As System.Windows.Forms.PaintEventArgs) _
          Handles Me.Paint

        Dim canvas As Graphics
        Dim fencePath As GraphicsPath
        Dim slottedRegion As Region

        canvas = e.Graphics
        canvas.Clear(Color.White)

        fencePath = New GraphicsPath

        fencePath.AddRectangle(New Rectangle(2 * 10, 0, 20, 500))
        fencePath.AddRectangle(New Rectangle(8 * 10, 0, 20, 500))
        fencePath.AddRectangle(New Rectangle(14 * 10, 0, 20, 500))
        fencePath.AddRectangle(New Rectangle(20 * 10, 0, 20, 500))

        slottedRegion = New Region(fencePath)

        canvas.Clip = slottedRegion

        canvas.Clear(Color.Aqua)
        canvas.DrawString("www.java2s.com", New Font("Times New Roman", 77),Brushes.Blue, 20, 20)
    End Sub
End Class


<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.SuspendLayout()
        '
        'Form1
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(617, 197)
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
        Me.MaximizeBox = False
        Me.Name = "Form1"
        Me.Text = "Using Regions Effectively"
        Me.ResumeLayout(False)

    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