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.