#include "ltwrappr.h"

virtual L_INT LBitmap::Light (pLightInfo, uLightNo, uBright, uAmbient, crAmbientClr, uFlags = 0)

Adds many spots of directed light sources to the bitmap.



Pointer to an array of LIGHTINFO structures that contains information on each light source.

L_UINT uLightNo

The number of light sources.

L_UINT uBright

Value that represents the brightness of the ambient light of the entire image. This can be any number that is 0 or greater. If it is 0 the image will be black. This value is divided internally by 100.

L_UINT uAmbient

Factor used when mixing the ambient color with the image.

COLORREF crAmbientClr

The COLORREF value that specifies the ambient color of the light sources in the pLightInfo array.

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.


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

To update a status bar or detect a user interrupt during execution of this function, refer to LBase::EnableStatusCallback.

For an example, click here

To obtain this effect, the following settings were used with the function:

   ptCenter = (pBitmap->Width/2, pBitmap->Height/2); 
   uWidth = pBitmap->Width; 
   uHeight = pBitmap->Width * 4/3; 
   nAngle = 13500; 
   uBright = 100; 
   uEdge = 75; 
   crFill = RGB(0,0,255); 
   uOpacity = 100; 
   uFlag = LGT_SPOTLIGHT; 
uLightNo = 1; 
uBright = 100; 
uAmbient = 100; 
crAmbientClr = RGB(255,255,0); 

This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.

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__LightExample(LAnimationWindow *BitmapWindow)  
   LIGHTINFO LightInfo;  
   LightInfo.uStructSize = sizeof(LIGHTINFO);  
   LightInfo.crFill = RGB(255, 255, 255);  
   LightInfo.nAngle = 0;  
   LightInfo.ptCenter.x  = BitmapWindow->GetWidth()/2;  
   LightInfo.ptCenter.y  = BitmapWindow->GetHeight()/2;  
   LightInfo.uEdge = 0;  
   LightInfo.uBright = 100;  
   LightInfo.uFlag = LGT_SPOTLIGHT;  
   LightInfo.uHeight = min(BitmapWindow->GetHeight(), BitmapWindow->GetWidth())/2;  
   LightInfo.uWidth  = max(BitmapWindow->GetHeight(), BitmapWindow->GetWidth())/2;  
   LightInfo.uOpacity  = 100;  
   return BitmapWindow->Light(&LightInfo, 1, 100, 100, RGB(255,255,255));  
Help Version 21.0.2021.3.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help