mlib_ImageBlend - blend with an alpha image
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:
|
mlib_ImageBlend_Fp(3MLIB), mlib_ImageBlend1_Fp_Inp(3MLIB), mlib_ImageBlend1_Inp(3MLIB), mlib_ImageBlend2_Fp_Inp(3MLIB), mlib_ImageBlend2_Inp(3MLIB), attributes(5)