API Reference Guide > Recognition Component API Reference > Recognition Component Functions Reference > Zone Support Functions > IG_REC_zone_rect_subtract |
Subtracts a rectangle from an existing zone.
Copy Code
|
|
---|---|
AT_ERRCOUNT ACCUAPI IG_REC_zone_rect_subtract( HIG_REC_IMAGE hImage, AT_INT nZoneIndex, LPAT_RECT lpRect ); |
Name | Type | Description |
---|---|---|
hImage | HIG_REC_IMAGE | Image handle. |
nZoneIndex | AT_INT | Index of the zone to be updated. |
lpRect | AT_RECT | The rectangle to be subtracted from the given zone. |
See IG_REC_image_import.
Copy Code
|
|
---|---|
AT_ERRCOUNT ErrCount = 0; HIG_REC_IMAGE higRecImage = 0; HIGEAR higImage = 0; AT_INT iZoneCount = 0; LPAT_RECT lpRects = 0; AT_INT iRectNum = 0; ErrCount += IG_load_file("Multipage.tif", &higImage); ErrCount += IG_REC_image_import(higImage, &higRecImage); ErrCount += IG_REC_zones_locate(higRecImage, NULL); ErrCount += IG_REC_zones_count_get(higRecImage, &iZoneCount); if(iZoneCount) { ErrCount += IG_REC_zone_layout_get(higRecImage, 0, &lpRects, &iRectNum); if(iRectNum) { AT_RECT rSubRect = lpRects[iRectNum-1]; rSubRect.top = (rSubRect.bottom + rSubRect.top) / 2; rSubRect.bottom = rSubRect.bottom; //... ErrCount += IG_REC_zone_rect_subtract(higRecImage, 0, &rSubRect); } } ErrCount += IG_REC_image_delete(higRecImage); ErrCount += IG_image_delete(higImage); ErrCount += IG_REC_free(lpRects); |
The function will recalculate the rectangle list of the zone. The resulting list must describe a "pizza box" shape. Subtraction cannot be performed on table zones and vertical text zones.