Content-type: text/html
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageMulAlpha(mlib_image *dst, const mlib_image *src, mlib_s32 cmask);
The mlib_ImageMulAlpha() function multiplies color channels by the alpha channel on a pixel by pixel basis.
For the MLIB_BYTE image, it uses the following equation:
dst[x][y][c] = src[x][y][c] * src[x][y][a] * 2**(-8)
For the MLIB_SHORT image, it uses the following equation:
dst[x][y][c] = src[x][y][c] * src[x][y][a] * 2**(-15)
For the MLIB_USHORT image, it uses the following equation:
dst[x][y][c] = src[x][y][c] * src[x][y][a] * 2**(-16)
For the MLIB_INT image, it uses the following equation:
dst[x][y][c] = src[x][y][c] * src[x][y][a] * 2**(-31)
where c and a are the indices for the color channels and the alpha channel, respectively, so c != a.
The function takes the following arguments:
dst
src
cmask
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageMulAlpha_Inp(3MLIB), mlib_ImageMulAlpha_Fp(3MLIB), mlib_ImageMulAlpha_Fp_Inp(3MLIB), attributes(5)