Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageBlend(mlib_image *dst, const mlib_image *src1, const mlib_image *src2, const mlib_image *alpha);
The mlib_ImageBlend() function blends two images together on a pixel-by-pixel basis using an alpha image, when alpha is also on a pixel basis. The alpha image can be a single-channel image or have the same number of channels as the source and destination images.
It uses the following equation when the alpha image is a single-channel image:
dst[x][y][i] = a[x][y][0]*src1[x][y][i] + (1 - a[x][y][0])*src2[x][y][i]
It uses the following equation when the alpha image has the same number of channels as the source and destination images:
dst[x][y][i] = a[x][y][i]*src1[x][y][i] + (1 - a[x][y][i])*src2[x][y][i]
The function takes the following arguments:
Pointer to destination image.
Pointer to first source image.
Pointer to second source image.
Alpha image used to control blending. The a value equals (alpha * 2**(-8)) for MLIB_BYTE image, (alpha * 2**(-15)) for MLIB_SHORT image, (alpha * 2**(-16)) for MLIB_USHORT image, and (alpha * 2**(-31)) for MLIB_INT image.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
mlib_ImageBlend_Fp(3MLIB), mlib_ImageBlend1_Fp_Inp(3MLIB), mlib_ImageBlend1_Inp(3MLIB), mlib_ImageBlend2_Fp_Inp(3MLIB), mlib_ImageBlend2_Inp(3MLIB), attributes(5)
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also