The graphics object has a fillpolygon function. I wanted a solution to the problem of receiving an image and a polygon points and the need to fill the area outside of that polygon with a color. The solution below solves that problem.
Imports System.Drawing.Drawing2D
Public Class Form1
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim polypoints() As Point
' Draw a polygon.
polypoints = New Point() { _
New Point(25, 100), _
New Point(275, 350), _
New Point(275, 100), _
New Point(25, 350) _
}
Using gp As New GraphicsPath
gp.AddPolygon(polypoints)
Using rgn As New Region(gp)
e.Graphics.ExcludeClip(rgn)
e.Graphics.FillRectangle(Brushes.Red, Me.ClientRectangle)
End Using
End Using
End Sub
End Class
Wednesday, April 1, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment