cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageBlendColor_Fp(mlib_image *dst, const mlib_image *src, const mlib_d64 *color, mlib_s32 cmask);
The mlib_ImageBlendColor_Fp() function blends an image and a color with the alpha channel.
It uses the following equation:
Cd = Cs*As + Cc*(1 - As) Ad = 1.0
where, Cs and Cd are the RGB color components of the source and destination images, respectively. As and Ad are the alpha components of the source and destination images, respectively. Cc is the color component of the constant color.
For MLIB_FLOAT and MLIB_DOUBLE images, the alpha coefficients are assumed to be in the range of [0.0, 1.0].
The images can have two to four channels. The length of color array must not be less than the number of channels in the images.
The function takes the following arguments:
Pointer to destination image.
Pointer to source image.
Array of constant color components.
Channel mask to indicate the alpha channel. Each bit of cmask represents a channel in the image. The channel corresponding to the highest bit with value 1 is the alpha channel.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes: