LDicomDS::GetOverlayBitmapList

#include "ltdic.h"

L_UINT16 LDicomDS::GetOverlayBitmapList(uOverlayIndex, hList, uOverlayFrameIndex, uCount, uFlags)

Loads the bitmap list with frames from the "Overlay Data" (60xx, 3000) element.

Parameters

L_UINT uOverlayIndex

The index of the overlay for which to get the frames. This index is zero-based.

HBITMAPLIST hList

Handle to the list of bitmaps.

L_UINT32 uOverlayFrameIndex

Position of the first frame to be loaded. Use zero-based indexing. For example, if there are 5 bitmaps in a list, the index of the last one is 4.

L_UINT32 uCount

Number of frames to load into the bitmap list.

L_UINT uFlags

Reserved for future use. Pass 0.

Returns

Value Meaning
0 The function was successful.
> 0 An error occurred. Refer to Return Codes.

Comments

Before calling this function you must call LDicomDS::GetOverlayAttributes. The nNumFramesInOverlay member of the OVERLAYATTRIBUTES structure will be updated with the number of frames under an overlay.

As an example, if you wish to load 5 frames starting with the 1st frame in the "Overlay Data", call this function with uOverlayFrameIndex set to 0 and uCount set to 5.

Required DLLs and Libraries

Platforms

Win32, x64

See Also

Functions

Topics

Example

This function will load frames of an overlay into a bitmap list.

L_INT LDicomDS_GetOverlayBitmapListExample(LDicomDS        &InDS,// Input dataset 
                                               HBITMAPLIST     hList,//Bitmap list to be populated 
                                               L_TCHAR*        pActivationLayer,//Retrieve activation layer if needed 
                                               L_UINT          uLength//Length of input buffer 
                                               ) 
{ 
   L_INT                nRet; 
   OVERLAYATTRIBUTES    OverlayAttributes = {0}; 
   L_INT                GroupNumber=0;  
   L_BOOL               IsOverlayInDataset = FALSE;  
 
   //(1)Sanity Check !  
   if(hList == NULL)  
   { 
      return DICOM_ERROR_NULL_PTR; 
   } 
   // Get activation layer 
   if(pActivationLayer && uLength)  
   { 
      nRet = InDS.GetOverlayActivationLayer (0,pActivationLayer,uLength); 
      if (nRet == DICOM_ERROR_OVERLAY_ACTIVATIONLAYER_MISSING) 
      { 
         OutputDebugString(TEXT("There is no Overlay Activation Layer in this dataset")); 
      } 
   } 
   nRet = InDS.GetOverlayAttributes (  0,  
                                      &OverlayAttributes,  
                                      sizeof(OverlayAttributes),  
                                      &GroupNumber,   
                                      &IsOverlayInDataset,  
                                      0);  
   if(nRet != DICOM_SUCCESS) 
      return nRet; 
 
   return InDS.GetOverlayBitmapList (0,  
                                    hList,  
                                    0,  
                                    OverlayAttributes.nNumFramesInOverlay,  
                                    0); 
} 

Help Version 21.0.2021.4.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help