GDI+ Region Class in VB.NET
In this article I will explain about the Region Class in GDI+.
Region describes the interior of a closed graphics shape, or form. A form has two areas: a nonclient area and a client area. The nonclient area (which does not allow for user-drawn graphics objects) includes the title bar- and depending on the application, horizontal and vertical scroll bars. This area cannot be used to draw graphics objects. The client area is used to draw controls and graphics objects.
In the .NET Framework library, the Region class object represents a region. If you have ever developed a complex .NET graphics application that requires a lot of rendering, you may have used this object a lot.
Constructing a Region Object
The Region class provides five overloaded forms. Using these forms, you can construct a Region object from a Rectangle, RectangleF, GraphicsPath, or RegionData object, or will no parameters. The following code snippet creates Region objects in different ways using different arguments.
'Create two rectangles
Dim rect1 As New Rectangle(20, 20, 60, 80)
Dim rect2 As New RectangleF(100, 20, 60, 100)
'Create a graphics path
Dim path As New GraphicsPath()
'Add a rectangle to the graphics path
path.AddRectangle(rect1)
'Create a region from rect1
Dim rectRgn1 As New Region(rect1)
'Create a region from rect2
Dim rectRgn2 As New Region(rect2)
'Create a region from GraphicsPath
Dim pathRgn As New Region(path)
The Region class has no properties. After constructing a region, an application can use the Graphics class's FillRegion method to fill the region.
Table 6.1 describes the methods of the Region class briefly.
Table 6.1: Region method
Method
|
Description
|
Clone
|
Creates an exact copy of a region.
|
Complement
|
Updates a region to the portion of a rectangle that does not intersect with the region.
|
Exclude
|
Updates a region to the portion of its interior that does not intersect with a rectangle.
|
FormHrgn
|
Creates a new Region object from a handle to the specified existing GDI region.
|
GetBounds
|
Returns a RectangleF structure that represents a rectangle that bounds a region.
|
GetHrgn
|
Returns a window handle for a region.
|
GetRegionData
|
Returns a RegionData object for a region. RegionData contains information describing a region.
|
GetRegionScans
|
Returns an array of RectangleF structures that approximate a region.
|
Intersect
|
Updates a region to the intersection of itself with another region.
|
IsEmpty
|
Returns true if a region is empty; otherwise return false.
|
IfInfinite
|
Returns true if a region has an infinite interior; otherwise returns false.
|
IsVisible
|
Returns true if the specified rectangle is contained within a region.
|
MakeEmpty
|
Mark a region as empty.
|
MakeInfinite
|
Marks a region as infinite.
|
Transform
|
Applies the transformation matrix to the region.
|
Translate
|
Offsets the coordinates of a region by the specified amount.
|
Union
|
Updates a region to the union of itself and the given graphics path.
|
Xor
|
Updates a region to the union minus the intersection of itself with the given graphics path.
|
Conclusion
Hope the article would have helped you in understanding the Region Class in GDI+. Read other articles on GDI+ on the website.