> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Region Object (IRegion Interface)

This is a supplementary object. It is designed to store the information about the region of an ABBYY FineReader Engine block.

A region is represented as a set of rectangles:

* positioned without intersections or overlaps
* added in left-to-right or top-to-bottom order

Some examples of ABBYY FineReader Engine regions are shown below:

<img src="https://mintcdn.com/abbyy/i-EfCQVmseNiPQcp/images/fine-reader/engine/regions.gif?s=b31b3c08fd5e02f80c97328a773e2937" alt="Regions" width="441" height="284" data-path="images/fine-reader/engine/regions.gif" />

An empty Region object can be created by calling the [IEngine::CreateRegion](/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) method, and then rectangles can be added to it one-by-one by calling the [IRegion::AddRect](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/addrect-method) method. We recommend that you add rectangles in top to bottom (or left to right) order, because the Region object is optimized for it, and this is the fastest way to add rectangles to it.

The Region object is a persistent object. This means that the object's current state can be written to persistent storage. Later, the object can be re-created by reading the object's state from the persistent storage. The following methods provide persistence of the object:

Linux: [SaveToFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method), and [LoadFromFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)

Windows [SaveToFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method), [LoadFromFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method), [SaveToMemory](/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method), and [LoadFromMemory](/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method).

## Properties

| Name                                                                                                 | Type                                                                                                                                                                                                                             | Description                                                             |
| ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Application                                                                                          | [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface), [read-only](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties)                    | Returns the Engine object.                                              |
| [Bottom](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/bottom-property) | [int](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                                | Returns the coordinate of the bottom border of the specified rectangle. |
| BoundingRectangle                                                                                    | [FRRectangle](/fine-reader/engine/api-reference/supplementary-objects-and-methods/frrectangle), [read-only](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties) | Returns the minimum rectangle which contains the whole region.          |
| Count                                                                                                | [int](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                                | Stores the number of rectangles in the region.                          |
| IsEmpty                                                                                              | [VARIANT\_BOOL](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                      | Specifies whether the region is empty.                                  |
| [Left](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/left-property)     | [int](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                                | Returns the coordinate of the left border of the specified rectangle.   |
| [Right](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/right-property)   | [int](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                                | Returns the coordinate of the right border of the specified rectangle.  |
| [Top](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/top-property)       | [int](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties), read-only                                                                                                                | Returns the coordinate of the top border of the specified rectangle.    |

## Methods

| Name                                                                                                                                               | Description                                                                                       |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [AddRect](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/addrect-method)                                               | Adds an area to the region.                                                                       |
| [AddRegion](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/addregion-method)                                           | Adds a new area to an existing region.                                                            |
| [CopyFrom](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method)                              | Initializes properties of the current object with values of similar properties of another object. |
| [CutRect](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/cutrect-method)                                               | Cuts a rectangular area from a region.                                                            |
| [HasIntersectionWithRect](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/hasintersectionwithrect-method)               | Calculates if the region intersects with the specified rectangle.                                 |
| [HasIntersectionWithRegion](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/hasintersectionwithregion-method)           | Calculates if the region intersects with the specified region.                                    |
| [IsEqual](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/isequal-method)                                               | Calculates if the region is equal to the specified region.                                        |
| [IsPointInRegion](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/ispointinregion-method)                               | Calculates if the specified point is inside the region.                                           |
| [IsRectInRegion](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/isrectinregion-method)                                 | Calculates if the specified rectangle is contained within the region.                             |
| [IsRegionInRegion](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/isregioninregion-method)                             | Calculates if the specified region is contained within the region.                                |
| [LoadFromFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfromfile-method)                                            | Restores the object's contents from a file on disk.                                               |
| [LoadFromMemory](/fine-reader/engine/api-reference/supplementary-objects-and-methods/loadfrommemory-method) <br /><br /> **Note:** *Windows only.* | Restores the object's contents from the global memory.                                            |
| [MakeEmpty](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region/makeempty-method)                                           | Removes all the rectangles from the region.                                                       |
| [SaveToFile](/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetofile-method)                                                | Saves the object's contents into a file on disk.                                                  |
| [SaveToMemory](/fine-reader/engine/api-reference/supplementary-objects-and-methods/savetomemory-method) <br /><br /> **Note:** *Windows only.*     | Saves the object's contents into the global memory.                                               |

## Related objects

<img src="https://mintcdn.com/abbyy/i-EfCQVmseNiPQcp/images/fine-reader/engine/region.gif?s=7ec0a7f856b5518a3ae6334ac4ce57d3" alt="Region" width="307" height="214" data-path="images/fine-reader/engine/region.gif" />[](/fine-reader/engine/api-reference/document-comparison-objects/changelocation/regionforpage-property)[](/fine-reader/engine/api-reference/document-comparison-objects/changelocation)[](/fine-reader/engine/api-reference/document-related-objects/mrzfield)[](/fine-reader/engine/api-reference/document-related-objects/mrzline)[](/fine-reader/engine/api-reference/supplementary-objects-and-methods/splitregion#sourceregion)[](/fine-reader/engine/api-reference/supplementary-objects-and-methods/frrectangle)[](/fine-reader/engine/api-reference/supplementary-objects-and-methods/splitregion)[](/fine-reader/engine/api-reference/document-related-objects/businesscard)[](/fine-reader/engine/api-reference/supplementary-objects-and-methods/regionscollection)[](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/fine-reader/engine/api-reference/text-related-objects/charparams#characterregion)[](/fine-reader/engine/api-reference/text-related-objects/charparams)[](/fine-reader/engine/api-reference/layout-related-objects/block#region)[](/fine-reader/engine/api-reference/layout-related-objects/block)[](/fine-reader/engine/api-reference/text-related-objects/word)

[Object Diagram](/fine-reader/engine/api-reference/object-diagram)

## Output parameter

This object is the output parameter of [CreateRegion](/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) method of the [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface) object.

## Input parameter

This object is passed as an input parameter to the following methods:

* [AnalyzeRegion](/fine-reader/engine/api-reference/document-related-objects/frpage/analyzeregion-method), [SynthesizeBusinessCard](/fine-reader/engine/api-reference/document-related-objects/frpage/synthesizebusinesscard-method), [SynthesizeBusinessCardEx](/fine-reader/engine/api-reference/document-related-objects/frpage/synthesizebusinesscardex-method) methods of the [FRPage](/fine-reader/engine/api-reference/document-related-objects/frpage) object
* [RemoveColorObjects](/fine-reader/engine/api-reference/image-related-objects/imagedocument/removecolorobjects-method), [RemoveMotionBlur](/fine-reader/engine/api-reference/image-related-objects/imagedocument/removemotionblur-method), [RemoveGarbage](/fine-reader/engine/api-reference/image-related-objects/imagedocument/removegarbage-method), [SmoothImage](/fine-reader/engine/api-reference/image-related-objects/imagedocument/smoothimage-method), [SaveImageRegionTo](/fine-reader/engine/api-reference/image-related-objects/imagedocument/saveimageregionto-method) methods of the [ImageDocument](/fine-reader/engine/api-reference/image-related-objects/imagedocument) object
* [AddNew](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup/addnew-method) method of the [CheckmarkGroup](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup) object
* [AddNew](/fine-reader/engine/api-reference/layout-related-objects/separatorgroup/addnew-method) method of the [SeparatorGroup](/fine-reader/engine/api-reference/layout-related-objects/separatorgroup) object
* [Add](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/add-method), [InsertAt](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/insertat-method) methods of the [RegionsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/regionscollection) object
* [SetImageData](/fine-reader/engine/api-reference/image-related-objects/trainingimage/setimagedata-method) method of the [TrainingImage](/fine-reader/engine/api-reference/image-related-objects/trainingimage) object
* [AddClipRegion](/fine-reader/engine/api-reference/image-related-objects/imagemodification/addclipregion-method), [AddInvertRegion](/fine-reader/engine/api-reference/image-related-objects/imagemodification/addinvertregion-method), [AddPaintRegion](/fine-reader/engine/api-reference/image-related-objects/imagemodification/addpaintregion-method), [AddReplaceBlackPixelsRegion](/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplaceblackpixelsregion-method), [AddReplaceWhitePixelsRegion](/fine-reader/engine/api-reference/image-related-objects/imagemodification/addreplacewhitepixelsregion-method) methods of the [ImageModification](/fine-reader/engine/api-reference/image-related-objects/imagemodification) object
* For Windows Visual Components:
  * [OnAnalyzeRegion](/fine-reader/engine/visual-components-reference/iimageviewerevents/onanalyzeregion-method), [OnToolChangeBlockRegion](/fine-reader/engine/visual-components-reference/iimageviewerevents/ontoolchangeblockregion-method) methods of the [IImageViewerEvents](/fine-reader/engine/visual-components-reference/iimageviewerevents) interface
  * [OnAnalyzeRegion](/fine-reader/engine/visual-components-reference/izoomviewerevents/onanalyzeregion-method), [OnToolChangeBlockRegion](/fine-reader/engine/visual-components-reference/izoomviewerevents/ontoolchangeblockregion-method) methods of the [IZoomViewerEvents](/fine-reader/engine/visual-components-reference/izoomviewerevents) interface

## Samples

This object is used in the [Business Card Recognition](/fine-reader/engine/guided-tour/samples#bcr_mac) (macOS) code sample.

## See also

[Working with Properties](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
