L_Jp2ReadMemory

#include "l_bitmap.h"

L_LTJP2_API L_INT EXT_FUNCTION L_Jp2ReadMemory(hJp2, pBuffer, uBufferSize, pBitmap, nBitsPerPixel, nOrder, pLoadOptions, pFileInfo, pReadCallBack, pUserData)

L_HJP2 hJp2;

/* JPEG 2000 engine handle */

L_UINT8 * pBuffer;

/* pointer to the JPEG 2000 file in memory to be loaded */

L_SIZE_T uBufferSize;

/* size of the file in memory (in bytes) */

pBITMAPHANDLE pBitmap;

/* pointer to the target bitmap handle */

L_INT nBitsPerPixel;

/* resulting bitmap pixel depth */

L_INT nOrder;

/* color order for 16-,24-,32-,48-, and 64-bit bitmaps */

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 a JPEG 2000 file from memory.

Parameter

Description

hJp2

JPEG 2000 engine handle that was created by the L_Jp2Create function.

pBuffer

Pointer to the file in memory to be loaded.

uBufferSize

Size of the file in memory (in bytes)

pBitmap

Pointer to the bitmap handle referencing the bitmap to be filled with image data.

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 calue 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_Jp2readMemory loads a JPEG 2000 file from memory. If the file contains multiple images, only the first image is returned. To load all images use either L_Jp2ReadListMemory or L_Jp2ReadCompositeMemory. To load a specific frame or frames, use L_Jp2ReadFramesMemory. pLoadOptions is used for loading codestreams such as J2K codestreams. All of the engines boxes will be reset and updated with the new loaded boxes only.

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

Windows 2000 / XP/Vista.

See Also

Functions:

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

Topics:

Programming with JPEG 2000 Features
Raster Image Functions: Working with JPEG 2000

Example

For an example, refer to L_Jp2SaveMemory.