Retrieves the graphic header information of a specific graphic segment.
#include "ltwrappr.h"
L_INT LNITFFile::GetGraphicHeader(uIndex, pGraphicHeader)
A zero-based index of the graphic segment in the NITF file.
Pointer to a GRAPHICHEADER structure to be updated with the graphic header information of the specified graphic 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 graphic segments available in the NITF file, call the LNITFFile::GetGraphicHeaderCount function.
To change the graphic header information for a specific graphic segment, call the LNITFFile::SetGraphicHeader function.
L_INT LNITFFile_GetGraphicHeaderExample()
{
// Create hNitf handle and parse the NITF file
LNITFFile Nitf;
Nitf.Create (MAKE_IMAGE_PATH(TEXT("test.ntf")));
L_UINT uFlags = 0;
GRAPHICHEADER GraphicHeader;
L_UINT uCount;
L_UINT i = 0;
memset(&GraphicHeader, 0, sizeof(GRAPHICHEADER));
// Check if the NITF file is empty or invalid
uFlags = Nitf.GetStatus ();
if((uFlags & NITF_FILE_EMPTY) == NITF_FILE_EMPTY)
{
MessageBox(NULL, TEXT("NITF file is empty"), 0, 0);
return SUCCESS;
}
if((uFlags & NITF_FILE_VALID) != NITF_FILE_VALID)
{
MessageBox(NULL, TEXT("NITF file is invalid"), 0, 0);
return SUCCESS;
}
// Update the graphic header
uCount = Nitf.GetGraphicHeaderCount ();
for( i = 0; i < uCount; ++i)
{
if(Nitf.GetGraphicHeader(i, &GraphicHeader) == SUCCESS)
{
GraphicHeader.nSBND1Row = 20;
GraphicHeader.nSBND1Col = 50;
GraphicHeader.nSBND2Row = 200;
GraphicHeader.nSBND2Col = 400;
Nitf.SetGraphicHeader (i, &GraphicHeader);
Nitf.FreeGraphicHeader(&GraphicHeader);
}
}
Nitf.SaveFile (MAKE_IMAGE_PATH(TEXT("test1.ntf")));
Nitf.Destroy ();
return SUCCESS;
}