The following steps show how to loop through all pages of a multi-page TIFF file and extract each page, process it individually, and save it into a separate file.
1. |
Declare the following variables: |
BITMAPHANDLE LeadBitmap = {0}; // LEAD bitmap
FILEINFO FileInfo = {0}; // File info
L_INT PageNumber, TotalPages; // Page numbers
LOADFILEOPTION LoadFileOption = {0}; // Loading options
char szOutFileName[MAX_PATH]; // Output file name
2. |
Determine the number of pages in the file: |
L_FileInfo("MultiPage.tif", &FileInfo, sizeof(FILEINFO), FILEINFO_TOTALPAGES, NULL);
TotalPages = FileInfo.TotalPages;
3. |
Loop through the pages of the file; performing specific processing on each page, then save each page to a separate file: |
L_GetDefaultLoadFileOption(&LoadFileOption, sizeof(LOADFILEOPTION));
for (PageNumber=1; PageNumber<=TotalPages; ++PageNumber)
{
// Load the next image in the loop
LoadFileOption.PageNumber = PageNumber;
L_LoadBitmap("MultiPage.tif", &LeadBitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGRORGRAY, &LoadFileOption, NULL);
// Check that it is properly loaded and allocated
if(LeadBitmap.Flags.Allocated)
{
// Perform specific processing on the page, such as flipping it
L_FlipBitmap(&LeadBitmap);
// Save the page to a separate file
wsprintf(szOutFileName, "PageNumber%4.4d.tif", PageNumber);
L_SaveBitmap(szOutFileName, &LeadBitmap, FILE_TIFLZW, LeadBitmap.BitsPerPixel, 0, NULL);
// Free the image from memory
L_FreeBitmap(&LeadBitmap);
} //if Allocated
} //for loop
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.