ImageGear for C and C++ on Windows v19.10 - Updated
IG_FX_free_directional_light
API Reference Guide > Core Component API Reference > Core Component Functions Reference > FX Functions > IG_FX_free_directional_light

This function changes the colors of an image according to the pattern of a sine wave; the image will appear to have regularly spaced bars of light and/or shadow overlaid on top of it.

Declaration:

 
Copy Code
AT_ERRCOUNT ACCUAPI IG_FX_free_directional_light(
        HIGEAR  hIGear, 
        AT_FLOAT angle, 
        AT_INT  pointCount, 
        AT_FLOAT points[], 
        AT_INT channelCount,
        AT_FLOAT amplitude[], 
        AT_FLOAT frequency, 
        AT_FLOAT phase, 
        AT_FLOAT attenuation
); 

Arguments:

Name Type Description
hIGear HIGEAR Image to which to apply free directional light effect.
angle AT_FLOAT Direction to apply the effect across the image. The value is specified as an angle in degrees and ranges from 0 to 360.
pointCount AT_INT Length of the points array.
points AT_FLOAT[ ] Array of points containing relative light deviations along the period of the sine wave. Each value typically ranges from -1 to 1. The number of points is flexible and should be chosen based on the period length relative to the image size and desired resolution of the effect.
channelCount AT_INT Number of image channels to which to apply the effect.
amplitude AT_FLOAT[ ] Controls the magnitude of color adjustment for each channel of the image. The number of elements of the array is typically set to the number of channels in the image. Each value should range from 0 to 2, although higher values are possible. 0 represents no change in the image color. Higher values represent more intense change. Color changes are clipped, so higher values result in a harder edge to the waveform. Array length must be equal to channelCount.
frequency AT_FLOAT Frequency of sine wave. The value should be from 0 to 0.5. The higher the frequency, the more bars will be visible.
phase AT_FLOAT Phase of sine wave. The value should be from 0 to 2*PI (approximately 6.28). As the phase is changed, the alignment of the bars is changed. This can be used to line up the bars with image content or boundaries.
attenuation AT_FLOAT Attenuation of sine wave. The value should be from -0.01 to 0.01. Attenuation adjusts how much the amplitude of the sine wave is decreased or increased as the sine wave proceeds. It can be used to cause the lighting to fade or intensify.

Return Value:

Returns the number of ImageGear errors that occurred during this function call.

Supported Raster Image Formats:

All pixel formats supported by ImageGear for C and C++, except:
Indexed RGB - 1 bpp;
Indexed RGB with non-grayscale palette.

Sample:

Image Processing