mlib_ImageDivAlpha(3MLIB) mediaLib Library Functions mlib_ImageDivAlpha(3MLIB)NAMEmlib_ImageDivAlpha - alpha channel division
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageDivAlpha(mlib_image *dst, const mlib_image *src,
mlib_s32 cmask);
DESCRIPTION
The mlib_ImageDivAlpha() function divides 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.
In the case of src[x][y][a] = 0,
dst[x][y][c] = 0 if src[x][y][c] = 0
dst[x][y][c] = DATA_TYPE_MAX if src[x][y][c] > 0
dst[x][y][c] = DATA_TYPE_MIN if src[x][y][c] < 0
where DATA_TYPE is MLIB_U8, MLIB_S16, MLIB_U16, or MLIB_S32 for an
image of type MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, or MLIB_INT, respec‐
tively.
PARAMETERS
The function takes the following arguments:
dst Pointer to destination image.
src Pointer to source image.
cmask Channel mask to indicate the alpha channel. Each bit of the
mask represents a channel in the image. The channel corre‐
sponding to the 1 bit of cmask is the alpha channel.
RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns
MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmlib_ImageDivAlpha_Inp(3MLIB), mlib_ImageDivAlpha_Fp(3MLIB),
mlib_ImageDivAlpha_Fp_Inp(3MLIB), attributes(5)SunOS 5.11 2 Mar 2007 mlib_ImageDivAlpha(3MLIB)