Subtracts a rectangle from an existing zone.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ACCUAPI IG_REC_zone_rect_subtract( HIG_REC_IMAGE hImage, AT_INT nZoneIndex, LPAT_RECT lpRect ); |
Arguments:
hImage | Image handle. |
nZoneIndex | Index of the zone to be updated. |
lpRect | The rectangle to be subtracted from the given zone. |
Return Value:
Returns the number of ImageGear errors that occurred during this function call.Supported Raster Image Formats:
See IG_REC_image_import.
Remarks:
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.
Example:
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); |