L_ConvertBitmapUnsignedToSigned

#include "l_bitmap.h"

L_LTIMGCOR_API L_INT L_ConvertBitmapUnsignedToSigned(pBitmap, uFlags)

Converts an unsigned bitmap to signed.

Parameters

pBITMAPHANDLE pBitmap

Pointer to the bitmap handle referencing the bitmap.

L_UINT uFlags

Flag that indicates how to process bits outside the low bit to high bit range. Possible values are:

Value Meaning
PROCESS_RANGE_ONLY [0x0001] Shift data by adding half the range to each pixel without changing bits outside the (LowBit-HighBit) range.
PROCESS_OUTSIDE_RANGE [0x0002] Shift data by adding half the range to each pixel and set to zero all bits outside the (LowBit-HighBit) range.

Returns

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

Comments

This function updates pBitmap->MaxVal and pBitmap-> MinVal with new values that reflect the bitmap's new signed data. In addition, the pBitmap->Flags.Signed value will be set to one.

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

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

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

L_INT ConvertBitmapUnsignedToSignedExample(L_VOID) 
{ 
   L_INT nRet; 
   /* Bitmap handle to hold the loaded image. */ 
   BITMAPHANDLE LeadBitmap; 
   LOADFILEOPTION LoadFileOption; 
 
   /* enable negative pixels to be loaded from TIFF files */ 
   nRet = L_GetDefaultLoadFileOption(&LoadFileOption, sizeof(LOADFILEOPTION)); 
   if(nRet != SUCCESS) 
      return nRet; 
   LoadFileOption.Flags |= ELO_SIGNED; 
 
   /* Load the bitmap, as 16-bit grayscale un-signed */ 
   nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT("clean.tif")), &LeadBitmap,sizeof(BITMAPHANDLE), 16, ORDER_GRAY, &LoadFileOption, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* convert bitmap to signed */ 
   if(!LeadBitmap.Flags.Signed) 
   { 
      nRet = L_ConvertBitmapUnsignedToSigned(&LeadBitmap, PROCESS_RANGE_ONLY); 
      if(nRet != SUCCESS) 
         return nRet; 
   } 
 
   L_FreeBitmap(&LeadBitmap); 
   return SUCCESS; 
} 
Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help