Class Rect
Inheritance
System.Object
Rect
Assembly: IronOcr.dll
Syntax
public sealed class Rect : ValueType
When OCR reports where something sits on a page, the answer comes back as a Rect. It is the rectangle in pixel coordinates that locates a recognized region, the box a PageIterator fills through TryGetBoundingBox and TryGetBaseline for the current block, line, word, or symbol. Reading it tells code exactly where a result lives on the page image, which is what drawing, cropping, and region work all start from.
A Rect is created from its two corner points with new Rect(x1, y1, x2, y2), or through the static FromCoords factory that takes the same four coordinates. The static Empty field gives a zero rectangle to start from or to test against. It is a value type, so each copy is independent and two rectangles compare by value through Equals and the == and != operators, which is convenient when checking whether a returned box is empty.
The corner properties X1, Y1, X2, and Y2 give the top-left and bottom-right coordinates, while Width and Height give the derived size, so code can read either the bounds or the dimensions without computing them. Because the struct is immutable in practice, construct a new value when a different box is needed rather than editing one in place. A Rect returned by an iterator is in the page image's pixel space, so align it with the same image when cropping or drawing.
using DynamicTesseract;
if (iterator.TryGetBoundingBox(PageIteratorLevel.Word, out Rect box))
Console.WriteLine($"{box.Width} x {box.Height} at ({box.X1}, {box.Y1})");
The region of an image how-to reads a specific area, the content area crop example crops by rectangle, and the read table how-to works with positioned cells.
Constructors
Rect(Int32, Int32, Int32, Int32)
Declaration
public Rect(int x, int y, int width, int height)
Parameters
| Type |
Name |
Description |
| System.Int32 |
x |
|
| System.Int32 |
y |
|
| System.Int32 |
width |
|
| System.Int32 |
height |
|
Fields
Empty
Declaration
public static readonly Rect Empty
Field Value
Properties
Height
Declaration
public int Height { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Width
Declaration
public int Width { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
X1
Declaration
Property Value
| Type |
Description |
| System.Int32 |
|
X2
Declaration
Property Value
| Type |
Description |
| System.Int32 |
|
Y1
Declaration
Property Value
| Type |
Description |
| System.Int32 |
|
Y2
Declaration
Property Value
| Type |
Description |
| System.Int32 |
|
Methods
Equals(Rect)
Declaration
public bool Equals(Rect other)
Parameters
| Type |
Name |
Description |
| Rect |
other |
|
Returns
| Type |
Description |
| System.Boolean |
|
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
| Type |
Name |
Description |
| System.Object |
obj |
|
Returns
| Type |
Description |
| System.Boolean |
|
FromCoords(Int32, Int32, Int32, Int32)
Declaration
public static Rect FromCoords(int x1, int y1, int x2, int y2)
Parameters
| Type |
Name |
Description |
| System.Int32 |
x1 |
|
| System.Int32 |
y1 |
|
| System.Int32 |
x2 |
|
| System.Int32 |
y2 |
|
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type |
Description |
| System.Int32 |
|
ToString()
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Operators
Equality(Rect, Rect)
Declaration
public static bool operator ==(Rect lhs, Rect rhs)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Inequality(Rect, Rect)
Declaration
public static bool operator !=(Rect lhs, Rect rhs)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Implements
System.IEquatable<>