L_Jp2ReadFramesMemory

#include "l_bitmap.h"

L_LTJP2_API L_INT EXT_FUNCTION L_Jp2ReadFramesMemory(hJp2, pBuffer, uBufferSize, pComposite, pFrames, uNumOfFrames, nBitsPerPixel, nOrder, pLoadOptions, pFileInfo, pReadCallBack, pUserData)

L_HJP2 hJp2;

JPEG 2000 engine handle

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

FILEREADCALLBACK 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
hJp2 JPEG 2000 engine handle that was created by the L_Jp2Create function.
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 and 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 FILEREADCALLBACK function.

pUserData Void pointer that you can use to pass one or more additional parameters used by the callback function.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

L_Jp2ReadFramesMemory 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 L_Jp2FreeComposite function. Also you must free structure bitmaps by calling the L_FreeBitmap 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:

L_Jp2Read, L_Jp2ReadList, L_Jp2ReadComposite, L_Jp2ReadFrames, L_Jp2Save, L_Jp2SaveList, L_Jp2SaveComposite, L_Jp2AppendFrames, L_Jp2ReadMemory, L_Jp2ReadListMemory, L_Jp2ReadCompositeMemory, L_Jp2SaveMemory, L_Jp2SaveListMemory, L_Jp2SaveCompositeMemory, L_Jp2AppendFramesMemory

Topics:

Programming with JPEG 2000 Features

Programming with JPX Features

 

Raster Image Functions: Working with JPEG 2000

 

Raster Image Functions: Working with JPX

Example

This example reads specific frame in JPEG 2000 file format

L_INT Jp2ReadFramesMemoryExample(pBITMAPHANDLE pBitmap, L_UINT8* pFileBuffer, L_SIZE_T uFileSize) 
{ 
   L_HJP2 hEngine; 
   L_INT  nRet; 
   L_JP2_JPXCOMPOSITE Composite = {0}; 
   L_UINT32 puFrames[1] = {0}; 
   Composite.uStructSize = sizeof(L_JP2_JPXCOMPOSITE); 
   /*Create JPEG  2000 engine handle*/ 
   hEngine = L_Jp2Create(); 
   /*Read a frame*/ 
   puFrames[0] = 0; 
   nRet = L_Jp2ReadFramesMemory(hEngine, pFileBuffer, uFileSize, &Composite, puFrames, 1, 24, ORDER_BGR, NULL, NULL, NULL, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
   *pBitmap = Composite.pBitmaps[0].ColorBitmap; 
   /*Free comoposite structure*/ 
   L_Jp2FreeComposite(hEngine, &Composite); 
   /*Destroy engine handle*/ 
   L_Jp2Destroy(hEngine); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C API Help