#include "ltwrappr.h"
L_INT LJp2FileFormat::ReadFramesMemory(pBuffer, uBufferSize, pComposite, pFrames, uNumOfFrames, nBitsPerPixel, nOrder, pLoadOptions, pFileInfo, pReadCallBack, pUserData)
L_UINT8 * pBuffer; |
pointer to a JPEG 2000 file in memory |
L_SIZE_T uBufferSize; |
size of JPEG 2000 file |
pL_JP2_JPXCOMPOSITE pComposite; |
pointer to a L_JP2_JPXCOMPOSITE structure |
L_UINT32 * pFrames; |
frames indices |
L_UINT32 uNumOfFrames; |
number of frames |
L_INT nBitsPerPixel; |
resulting bitmaps pixel depth |
L_INT nOrder; |
desired color order |
pLOADFILEOPTION pLoadOptions; |
pointer to optional extended load options |
pFILEINFO pFileInfo; |
pointer to a structure |
LFile::LoadFileCallBack pReadCallBack; |
optional callback function |
L_VOID * pUserData; |
pointer to more parameters for the callback |
Loads the specified frames bitmaps (Color, Opacity and Pre-multiplied opacity) stored in the specified JPEG 2000 file in memory.
Parameter | Description | |
pBuffer | Pointer to a JPEG 2000 file in memory. | |
uBufferSize | Size of JPEG 2000 file in bytes. | |
pComposite | Pointer to the L_JP2_JPXCOMPOSITE structure, that references L_JP2_JPXBITMAPS bitmaps to be filled with image data. | |
pFrames | Frames indices. An array of unsigned integers specifies the indices of the frames to be loaded from the file. | |
uNumOfFrames | Number of frames to be loaded. This value specifies the size of pFrames. | |
nBitsPerPixel | Resulting bitmap pixel depth. If zero [0], the bitmap will have the original files pixel depth (do not convert). | |
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. | |
pLoadOptions | Pointer to optional extended load options. Pass NULL to use the default load options. | |
pFileInfo | Pointer to a FILEINFO structure. If nothing is known about the file pass NULL. | |
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. | ||
pUserData | Void pointer that you can use to pass one or more additional parameters used by the callback function. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
LJp2FileFormat::ReadFramesMemory loads the specified frames bitmaps (Color, Opacity and Pre-multiplied opacity) stored in the specified JPEG 2000 file in memory. 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 For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Win32, x64.
This example reads specific frame in JPEG 2000 file format
L_INT LJp2FileFormat__ReadFramesMemoryExample(L_UINT8* pFileBuffer, L_SIZE_T uFileSize)
{
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.ReadFramesMemory( pFileBuffer, uFileSize, &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 comoposite structure*/
nRet = Engine.FreeComposite( &Composite);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document