Retrieves the image header information of a specific graphic segment.
#include "ltntf.h"
L_LTNTF_API L_INT L_NITFGetImageHeader(hNitf, uIndex, pImageHeader)
Handle to an existing NITF file, created by calling the L_NITFCreate function.
A zero-based index of the image segment in the hNitf handle.
Pointer to an IMAGEHEADER structure to be updated with the image header information of the specified image segment at the index uIndex.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
To retrieve the number of the image segments available in the hNitf handle, call the L_NITFGetImageHeaderCount function.
To change the image header information for a specific graphic segment, call the L_NITFSetImageHeader function.
L_INT NITFGetImageHeaderExample(L_VOID)
{
L_INT nRet = SUCCESS;
HNITF hNitf;
L_UINT uFlags = 0;
IMAGEHEADER ImageHeader;
L_UINT uCount;
L_UINT i = 0;
memset(&ImageHeader, 0, sizeof(IMAGEHEADER));
// Create hNitf handle and parse the NITF file
nRet =L_NITFCreate (&hNitf, MAKE_IMAGE_PATH(TEXT("test.ntf")));
if(nRet !=SUCCESS)
return nRet;
// Check if the hNITF is empty or invalid
uFlags = L_NITFGetStatus(hNitf);
if((uFlags & NITF_FILE_EMPTY) == NITF_FILE_EMPTY)
{
MessageBox(NULL ,TEXT("NITF file is empty"),NULL,MB_OK);
return FAILURE;
}
if((uFlags & NITF_FILE_VALID) != NITF_FILE_VALID)
{
MessageBox(NULL,TEXT("NITF file is invalid"),NULL,MB_OK);
return FAILURE;
}
// Update the image header
uCount = L_NITFGetImageHeaderCount(hNitf);
for( i = 0; i < uCount; ++i)
{
memset(&ImageHeader, 0, sizeof(ImageHeader));
nRet = L_NITFGetImageHeader(hNitf, i, &ImageHeader);
if(nRet == SUCCESS)
{
ImageHeader.nILOCCol = 50;
ImageHeader.nILOCRow = 50;
nRet =L_NITFSetImageHeader(hNitf, i, &ImageHeader);
if(nRet !=SUCCESS)
return nRet;
L_NITFFreeImageHeader(&ImageHeader);
}
else
return nRet;
}
nRet =L_NITFDestroy(&hNitf);
if(nRet !=SUCCESS)
return nRet;
return SUCCESS;
}