Files
Andy De George c0ba284473 Initial winforms content migrated (#18)
* Merge winforms framework content to working branch (#14)

* Breadcrumb / TOC / Move net5 to net folder (#15)

* change path from net5 to net

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Mess with bread/toc

* Add .net 5 winforms placeholder article (#16)

* added some metadata and adjusted net5 placeholder

* corrections

* corrections

* corrections

* Test1

* Swapping landing page vs concept

* fix links

* Fix links

* Fix desc
2020-09-01 16:26:21 -07:00

3.2 KiB

title, ms.date, dev_langs, helpviewer_keywords, ms.assetid
title ms.date dev_langs helpviewer_keywords ms.assetid
Regions in GDI+ 03/30/2017
csharp
vb
GDI+, regions
drawing [Windows Forms], regions
regions
52184f9b-16dd-4bbd-85be-029112644ceb

Regions in GDI+

A region is a portion of the display area of an output device. Regions can be simple (a single rectangle) or complex (a combination of polygons and closed curves). The following illustration shows two regions: one constructed from a rectangle, and the other constructed from a path.

Regions

Using Regions

Regions are often used for clipping and hit testing. Clipping involves restricting drawing to a certain region of the display area, usually the portion that needs to be updated. Hit testing involves checking to determine whether the cursor is in a certain region of the screen when a mouse button is pressed.

You can construct a region from a rectangle or a path. You can also create complex regions by combining existing regions. The xref:System.Drawing.Region class provides the following methods for combining regions: xref:System.Drawing.Region.Intersect%2A, xref:System.Drawing.Region.Union%2A, xref:System.Drawing.Region.Xor%2A, xref:System.Drawing.Region.Exclude%2A, and xref:System.Drawing.Region.Complement%2A.

The intersection of two regions is the set of all points belonging to both regions. The union is the set of all points belonging to one or the other or both regions. The complement of a region is the set of all points that are not in the region. The following illustration shows the intersection and union of the two regions shown in the preceding illustration.

Regions

The xref:System.Drawing.Region.Xor%2A method, applied to a pair of regions, produces a region that contains all points that belong to one region or the other, but not both. The xref:System.Drawing.Region.Exclude%2A method, applied to a pair of regions, produces a region that contains all points in the first region that are not in the second region. The following illustration shows the regions that result from applying the xref:System.Drawing.Region.Xor%2A and xref:System.Drawing.Region.Exclude%2A methods to the two regions shown at the beginning of this topic.

Regions

To fill a region, you need a xref:System.Drawing.Graphics object, a xref:System.Drawing.Brush object, and a xref:System.Drawing.Region object. The xref:System.Drawing.Graphics object provides the xref:System.Drawing.Graphics.FillRegion%2A method, and the xref:System.Drawing.Brush object stores attributes of the fill, such as color or pattern. The following example fills a region with a solid color.

[!code-csharpLinesCurvesAndShapes#61] [!code-vbLinesCurvesAndShapes#61]

See also