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

This function provides the ripple effect on the image, as if it is looked at through a relief glass.

Declaration:

 
Copy Code
AT_ERRCOUNT ACCUAPI IG_FX_ripple_freehand(
        HIGEAR hIGear,
        AT_FLOAT depth, 
        AT_FLOAT xDistribution[],
        AT_INT xPointCount,
        AT_FLOAT yDistribution[],
        AT_INT yPointCount, 
        AT_INT xPeriod,
        AT_INT xPhase,
        AT_INT yPeriod,
        AT_INT yPhase,
        AT_FLOAT smoothness, 
        AT_FLOAT angle
);

Arguments:

Name Type Description
hIGear HIGEAR Image to which to apply the effect.
depth AT_FLOAT Strength of the ripple effect.
xDistribution AT_FLOAT[ ] Array of points containing relative light deviations along the X axis in each cell. 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.
xPointCount AT_INT Length of the xDistribution array.
yDistribution AT_FLOAT[ ] Array of points containing relative light deviations along the Y axis in each cell. 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.
yPointCount AT_INT Length of the xDistribution array.
xPeriod AT_INT Horizontal period of the repeating pattern. It corresponds to number of points from the xDistribution array that should be used in the transform, and does not have to be equal to the length of the array.
xPhase AT_INT Index of the first point in the xDistribution array to be used in the transform.
yPeriod AT_INT Vertical period of the repeating pattern. It corresponds to number of points from the yDistribution array, that should be used in the transform, and does not have to be equal to the length of the array.
yPhase AT_INT Index of the first point in the yDistribution array to be used in the transform.
smoothness AT_FLOAT Specifies how much the ripple pattern should be smoothed before applying.
angle AT_FLOAT Specifies the angle for the ripple pattern, in degrees. Valid range is from 0 to 360.

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++.

Sample:

Image Processing

Remarks:

The function uses a custom ripple pattern, defined as two one-dimensional arrays containing light deviations in X and Y directions.