cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageBlend_Fp(mlib_image *dst, const mlib_image *src1, const mlib_image *src2, const mlib_image *alpha);
The mlib_ImageBlend_Fp() 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] = alpha[x][y][0]*src1[x][y][i] + (1 - alpha[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] = alpha[x][y][i]*src1[x][y][i] + (1 - alpha[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 pixels in this image should have values in the range of [0.0, 1.0].
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageBlend(3MLIB), mlib_ImageBlend1_Fp_Inp(3MLIB), mlib_ImageBlend1_Inp(3MLIB), mlib_ImageBlend2_Fp_Inp(3MLIB), mlib_ImageBlend2_Inp(3MLIB), attributes(5)