LBitmap::GetMinMaxVal

#include "ltwrappr.h"

virtual L_INT LBitmap::GetMinMaxVal(puMinVal, puMaxVal, uFlags = 0)

L_INT * puMinVal;

/* address of the variable to be updated */

L_INT * puMaxVal;

/* address of the variable to be updated */

L_UINT32 uFlags;

/* flags */

Returns the minimum and maximum intensity values present in a 12 or 16-bit grayscale or a 48 or 64-bit color image.

Parameter

Description

puMinVal

Address of a variable to be updated with the minimum intensity value present in the bitmap.

puMaxVal

Address of a variable to be updated with the maximum intensity value present in the bitmap.

uFlags

Reserved for future use. Must be 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The minimum and maximum values can be used 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

LTDIS
LTFIL
LTIMGCOR

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

LBitmap::GetMinMaxBits, LBitmap::WindowLevel, LBitmap::WindowLevelBitmap, Class Members

Topics:

Raster Image Functions: Palettes

 

Grayscale Images

 

Color Halftones and Halftone Images

 

Raster Image Functions: Working with Color Halftones, Halftones, and Grayscale Images

 

Raster Image Functions: Processing an Image

Example

L_INT LBitmap__GetMinMaxValExample()
{
   L_INT nRet;
   LBitmap LeadBitmap;
   L_INT nLowBit, nHighBit;
   L_TCHAR szDummyBuffer[50];
   nRet =LeadBitmap.Load(TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\image1.cmp "), 0,ORDER_BGR);
   if(nRet !=SUCCESS)
      return nRet;
   if(
      ((LeadBitmap.IsGrayScale()!=GRAY_NO)&&
      ((LeadBitmap.LBitmapBase::GetBitsPerPixel()==12)||
      (LeadBitmap.LBitmapBase::GetBitsPerPixel()==16)))
      )
   {
      nRet =LeadBitmap.GetMinMaxVal(&nLowBit, &nHighBit);
      if(nRet !=SUCCESS)
         return nRet;
      wsprintf(szDummyBuffer, TEXT("LowBit= %d\tHighBit= %d"), nLowBit, nHighBit);
      MessageBox(NULL, szDummyBuffer, TEXT("GetMinMaxBits"), MB_OK);
   }
   else
   {
      MessageBox(NULL, TEXT("Not a (12 or 16) gray scale image."), TEXT("GetMinMaxBits"), MB_OK);
      return FAILURE; 
   }
   return SUCCESS;
}