mlib_ImageBlend(3MLIB) mediaLib Library Functions mlib_ImageBlend(3MLIB)NAMEmlib_ImageBlend - blend with an alpha image
SYNOPSIS
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);
DESCRIPTION
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]
PARAMETERS
The function takes the following arguments:
dst Pointer to destination image.
src1 Pointer to first source image.
src2 Pointer to second source image.
alpha 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.
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_ImageBlend_Fp(3MLIB), mlib_ImageBlend1_Fp_Inp(3MLIB), mlib_Image‐
Blend1_Inp(3MLIB), mlib_ImageBlend2_Fp_Inp(3MLIB), mlib_Image‐
Blend2_Inp(3MLIB), attributes(5)SunOS 5.11 2 Mar 2007 mlib_ImageBlend(3MLIB)