L_Jp2AppendGMLDataMemory

#include "l_bitmap.h"

L_LTJP2_API L_INT EXT_FUNCTION L_Jp2AppendGMLDataMemory(hJp2, pBuffer, uBufferSize, lpOutBuffer, puOutBufferSize, pGMLData)

L_HJP2 hJp2;

/* JPEG 2000 engine handle */

L_UINT8 * pBuffer;

/* pointer to a JPEG 2000 file in memory */

L_SIZE_T uBufferSize;

/* size of the JPEG 2000 file */

L_UINT8 ** lpOutBuffer;

/* pointer to a pointer */

L_SIZE_T * puOutBufferSize;

/* pointer to a variable to be updated */

pL_JP2_GMLDATA pGMLData;

/* pointer to the L_JP2_GMLDATA structure */

Appends GML data to the specified JPEG 2000 part 2 (JPX) file format 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 the JPEG 2000 file in bytes.

lpOutBuffer

Pointer to a pointer to be updated with an array of bytes that contains a JPEG 2000 file with new appended GML data. You must free this buffer by calling the Windows GlobalFree () function.

puOutBufferSize

Address of a variable to be updated with the size of the output memory buffer in bytes.

pGMLData

Pointer to the L_JP2_GMLDATA structure that has the GML data to be appended.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

L_Jp2AppendGMLDataMemory appends GML data to the specified JPEG 2000 part 2 (JPX) file format in memory. If the file is JPX format, the functions returns: ERROR_FILE_FORMAT.

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_Jp2ReadGMLData, L_Jp2AppendGMLData, L_Jp2AppendBoxes, L_Jp2AppendBoxesMemory, L_Jp2AppendFrames, L_Jp2AppendFramesMemory, L_Jp2ReadBox, L_Jp2ReadBoxMemory

Topics:

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

Example

This example appends user GML data to a JPEG 2000 file.

L_LTJP2TEX_API L_INT Jp2AppendGMLDataMemoryExample(L_UINT8* pFileBuffer, L_SIZE_T uFileSize, L_UINT8** lpOutBuffer, L_SIZE_T * puOutSize, pL_JP2_GMLDATA pGMLData)
{
   L_HJP2 hEngine;

   /*Create JPEG  2000 engine handle*/
   hEngine = L_Jp2Create();

   /*Read GML data*/
   L_Jp2AppendGMLDataMemory(hEngine, pFileBuffer, uFileSize, lpOutBuffer, puOutSize, pGMLData);

   /*Destroy engine handle*/
   L_Jp2Destroy(hEngine);
   return SUCCESS;
}