LJp2FileFormat::AppendBoxes

#include "ltwrappr.h"

L_INT LJp2FileFormat::AppendBoxes(pszFile, uBoxType, pBoxes, uNumOfBoxes)

L_TCHAR * pszFile;

/* name of the file */

eJP2BOXTYPE uBoxType;

/* box type */

L_VOID * pBoxes;

/* pointer to an array of boxes */

L_UINT uNumOfBoxes;

/* number of boxes */

Appends boxes of uBoxType to the specified file.

Parameter

Description

pszFile

Character string that contains the name of the file to append boxes.

uBoxType

The type of the boxes to be appended.

pBoxes

Point to an array of boxes of type uBoxType.

uNumOfBoxes

Number of boxes in the array.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function appends JPEG 2000 boxes to the specified file. If the specified box type is L_JP2_IPR, L_JPX_IPR, L_JPX_GTSO, or L_JPX_COMPOSITION, only the first box will be appended, because a JPEG 2000 file cannot have more than one box each of these types. Boxes of type uBoxType will be reset and updated with the new appended boxes only.

This function does not append L_JP2_RESOLUTION_BOX box. This function will return ERROR_INV_PARAMETER error if you appended it. This box can be set using LJp2FileFormat::SetBoxes function.

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::AppendBoxesMemory, LJp2FileFormat::AppendFrames, LJp2FileFormat::AppendFramesMemory, LJp2FileFormat::AppendGMLDataMemory, LJp2FileFormat::ReadBox, LJp2FileFormat::ReadBoxMemory

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 appends a box to already existing JPEG 2000 file.

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
L_INT LJp2FileFormat__AppendBoxesExample(L_UINT8 * pXMLData, L_SIZE_T uSize)
{
   LJp2FileFormat Engine;
   L_INT  nRet;
   L_JP2_XML_BOX XMLBox;
   /*Create an XML box*/
   XMLBox.uStructSize = sizeof(L_JP2_XML_BOX);
   XMLBox.pData = pXMLData;
   XMLBox.uDataSize = uSize;
   /*Append XML box to a JPX file*/
   nRet = Engine.AppendBoxes(MAKE_IMAGE_PATH(TEXT("image1.jp2")), L_JP2B_XML,&XMLBox,1);
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}