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

This function diffuses an image by shuffling the positions of pixels.

Declaration:

 
Copy Code
AT_ERRCOUNT ACCUAPI IG_FX_diffuse (
        HIGEAR hIGear, 
        const LPAT_RECT lpRect, 
        const UINT nStrength 
);

Arguments:

Name Type Description
hIGear HIGEAR HIGEAR handle of image.
lpRect const LPAT_RECT Far pointer to an AT_RECT struct specifying the rectangular portion of the image to be processed. Set = NULL for whole image. Before ImageGear performs this operation, it will check to see if an internal flag has been set to TRUE to make a mask active for this HIGEAR image. If a mask is active, and a valid pointer to a mask can be found, ImageGear will override the settings passed to this structure in favor of the non-rectangular ROI defined by the mask.
nStrength const UINT An integer from 1 to 16 specifying the amount of diffusion.

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 with non-grayscale palette

Sample:

FlashPix

Example:

 
Copy Code
HIGEAR    hIGear;        /* HIGEAR handle of image */
/* Diffuse the image slightly: */
IG_FX_diffuse ( hIGear, NULL, 3 );

Remarks:

The greater the value of nStrength, the greater the diffusion.

This function, like other ImageGear Image Processing and Clipboard API calls, takes an AT_RECT structure as an argument, so that you can process a rectangular sub-region of an image. However, before ImageGear performs the operation specified by this function, it will check to see if an internal flag has been set to TRUE, indicating that a mask HIGEAR should be used with the image. If the flag is set to TRUE, and a valid pointer to a mask image has been assigned, ImageGear will override the settings passed to the AT_RECT structure and use the non-rectangular ROI defined by the mask HIGEAR. To create a non-rectangular region of interest, call IG_IP_NR_ROI_to_HIGEAR_mask().

Please see the descriptions of IG_IP_NR_ROI_mask_associate() and IG_IP_NR_ROI_to_HIGEAR_mask() for more details.