L_NITFGetImageHeader

#include "ltntf.h"

L_LTNTF_API L_INT L_NITFGetImageHeader(hNitf, uIndex, pImageHeader)

Retrieves the image header information of a specific graphic segment.

Parameters

HNITF hNitf

Handle to an existing NITF file, created by calling the L_NITFCreate function.

L_UINT uIndex

A zero-based index of the image segment in the hNitf handle.

pIMAGEHEADER pImageHeader

Pointer to an IMAGEHEADER structure to be updated with the image header information of the specified image segment at the index uIndex.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

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.

Required DLLs and Libraries

See Also

Functions

Topics

Example

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; 
} 
Help Version 21.0.2020.8.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.