Returns the low and high bits of the values present in a 12 or 16-bit grayscale and 48 and 64-bit image.


#include "ltwrappr.h"

virtual L_INT LBitmap::GetMinMaxBits(pnLowBit, pnHighBit, uFlags = 0)


L_INT * pnLowBit

Address of a variable to be updated with the lowest bit set in the bitmap.

L_INT * pnHighBit

Address of a variable to be updated with the highest bit set in the bitmap.

L_UINT32 uFlags

Reserved for future use. Must be 0.


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


The minimum and maximum bit values can be used to specify the range of useful bits and to create a lookup table, for use in LBitmap::WindowLevel or LBitmap::WindowLevelBitmap.

This function supports 12 and 16-bit grayscale images. Support for 12 and 16-bit grayscale images is available only in the Document/Medical toolkits.

This function supports signed data images.

This function does not support 32-bit grayscale images. It returns the error code ERROR_GRAY32_UNSUPPORTED if a 32-bit grayscale image is passed to this function.

Required DLLs and Libraries


Win32, x64.

See Also




L_INT LBitmap__GetMinMaxBitsExample() 
   L_INT nRet; 
   LBitmap LeadBitmap; 
   L_INT nLowBit, nHighBit; 
   L_TCHAR szDummyBuffer[50]; 
   nRet =LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("clean.tif")), 16,ORDER_GRAY); 
   if(nRet !=SUCCESS) 
      return nRet; 
      ((LeadBitmap.GetBitsPerPixel ()==12)|| 
      nRet =LeadBitmap.GetMinMaxBits(&nLowBit, &nHighBit); 
      if(nRet !=SUCCESS) 
         return nRet; 
      wsprintf(szDummyBuffer, TEXT("LowBit= %d\tHighBit= %d"), nLowBit, nHighBit); 
      MessageBox(NULL, szDummyBuffer, TEXT("GetMinMaxBits"), MB_OK); 
      MessageBox(NULL, TEXT("Not a (12 or 16) gray scale image."), TEXT("GetMinMaxBits"), MB_OK); 
      return FAILURE; 
   return SUCCESS; 
Help Version 22.0.2023.2.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help