LJp2FileFormat::ReadFrames (original) (raw)
Summary
Loads the specified frames bitmaps (Color, Opacity and Pre-multiplied opacity) stored in the specified JPEG 2000 file.
Syntax
#include "ltwrappr.h"
L_INT LJp2FileFormat::ReadFrames(pszFile, pComposite, pFrames, uNumOfFrames, nBitsPerPixel, nOrder, pLoadOptions, pFileInfo, pReadCallBack, pUserData)
Parameters
L_TCHAR * pszFile
Character string that contains the name of the JPEG 2000 file.
pL_JP2_JPXCOMPOSITE pComposite
Pointer to the L_JP2_JPXCOMPOSITE structure that references L_JP2_JPXBITMAPS bitmaps to be filled with image data.
L_UINT32 * pFrames
Frames indices. An array of unsigned integers specifies the indices of the frames to be loaded from the file.
L_UINT32 uNumOfFrames
Number of frames to be loaded. This value specifies the size of pFrames.
L_INT nBitsPerPixel
Resulting bitmap pixel depth. If zero [0], the bitmap will have the original files pixel depth (do not convert).
L_INT nOrder
The desired color order. Possible values are:
Value | Meaning |
---|---|
ORDER_RGB | [0] Read-green-blue order. |
ORDER_BGR | [1] Blue green-red order. |
ORDER_GRAY | [2] 12 or 16-bit grayscale image. 12 and 16-bit grayscale images are supported in Document/Medical imaging products only. |
0 | The data is 8 bits per pixel or less. |
ORDER_RGBORGRAY | [3] Load the image as red, green, blue, OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale images are supported in Document/Medical imaging products only. |
ORDER_BGRORGRAY | [4] Load the image as blue, green, red, OR as a 12 or 16-bit grayscale image. 12 and 16-bit grayscale images are supported in Document/Medical imaging products only. |
ORDER_ROMM | [5] ROMM order. ROMM only supports 24 and 48-bit images. |
ORDER_BGRORGRAYORROMM | [6] Load the image as blue, green, red, OR as a 12 or 16-bit grayscale image OR as ROMM. 12 and 16-bit grayscale images are supported in Document/Medical imaging products only. |
pLOADFILEOPTION pLoadOptions
Pointer to optional extended load options. Pass NULL to use the default load options.
pFILEINFO pFileInfo
Pointer to a FILEINFO structure. If nothing is known about the file pass NULL.
LFile::LoadFileCallBack pReadCallBack
Optional callback function for additional processing.
If you do not provide a callback function, pass NULL.
If you do provide a callback function, use the function pointer as the value of this parameter.
The callback function must adhere to the function prototype described in the LFile::LoadFileCallBack function.
L_VOID * pUserData
Void pointer that you can use to pass one or more additional parameters used by the callback function.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
LJp2FileFormat::ReadFrames loads the specified frames bitmaps (Color, Opacity and Pre-multiplied opacity) stored in the specified JPEG 2000 file. You must free this structure by calling the LJp2FileFormat::FreeComposite function. Also you must free structure bitmaps by calling the LBitmapBase::Free function. All of the engines boxes will be reset.
Required DLLs and Libraries
- LTJP2
- LFJ2K
- LTIMGEFX
- For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.
Platforms
Win32, x64.
See Also
Functions
- LJp2FileFormat::Read
- LJp2FileFormat::ReadList
- LJp2FileFormat::ReadComposite
- LJp2FileFormat::Save
- LJp2FileFormat::SaveList
- LJp2FileFormat::SaveComposite
- LJp2FileFormat::AppendFrames
- LJp2FileFormat::ReadMemory
- LJp2FileFormat::ReadListMemory
- LJp2FileFormat::ReadCompositeMemory
- LJp2FileFormat::ReadFramesMemory
- LJp2FileFormat::SaveMemory
- LJp2FileFormat::SaveListMemory
- LJp2FileFormat::SaveCompositeMemory
- LJp2FileFormat::AppendFramesMemory
Topics
- Implementing JPEG 2000 Features
- Raster Image Functions: Working with JPEG 2000
- Programming with JPX Features
- JPX File Comments
- Raster Image Functions: Working with JPX
Example
This example reads specific frame in JPEG 2000 file format
L_INT LJp2FileFormat__ReadFramesExample()
{
LJp2FileFormat Engine;
L_INT nRet;
L_JP2_JPXCOMPOSITE Composite = {0};
L_UINT32 puFrames[1] = {0};
Composite.uStructSize = sizeof(L_JP2_JPXCOMPOSITE);
/*Read a frame*/
puFrames[0] = 0;
nRet = Engine.ReadFrames(MAKE_IMAGE_PATH(TEXT("image1.jpx")),&Composite,puFrames,1,24,ORDER_BGR,NULL,NULL,NULL, NULL);
if(nRet != SUCCESS)
return nRet;
/*you may use the bitmaps*/
//Composite.pBitmaps[0].ColorBitmap;
for (L_UINT32 index=0;index<Composite.uNumOfBitmaps; index++)
{
L_FreeBitmap(&Composite.pBitmaps[index].ColorBitmap);
}
/*Free composite structure*/
Engine.FreeComposite( &Composite);
return SUCCESS;
}
LEADTOOLS Raster Imaging C++ Class Library Help