Content-type: text/html Man page of mlib_ImageComposite

mlib_ImageComposite

Section: mediaLib Library Functions (3MLIB)
Updated: 2 Mar 2007
Index Return to Main Contents
 

NAME

mlib_ImageComposite - image composition  

SYNOPSIS

cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageComposite(mlib_image *dst, const mlib_image *src1,
    const mlib_image *src2, mlib_blend bsrc1, mlib_blend bsrc2,
    mlib_s32 cmask);

 

DESCRIPTION

The mlib_ImageComposite() function supports digital image composition.

It is a wrapper of the mlib_ImageBlend_BSCR1_BSRC2 group of functions and can perform various types of composition based on the parameters passed in, whereas each function in that group can perform only the one kind of composition denoted by its name.

The image type must be MLIB_BYTE. The input and output images must contain three or four channels. For three-channel images, the alpha value is as if the alpha value is 1.

The following are predefined blend factor types used in mediaLib image composition functions.

/* image blend factors */
typedef enum {
   MLIB_BLEND_ZERO,
   MLIB_BLEND_ONE,
   MLIB_BLEND_DST_COLOR,
   MLIB_BLEND_SRC_COLOR,
   MLIB_BLEND_ONE_MINUS_DST_COLOR,
   MLIB_BLEND_ONE_MINUS_SRC_COLOR,
   MLIB_BLEND_DST_ALPHA,
   MLIB_BLEND_SRC_ALPHA,
   MLIB_BLEND_ONE_MINUS_DST_ALPHA,
   MLIB_BLEND_ONE_MINUS_SRC_ALPHA,
   MLIB_BLEND_SRC_ALPHA_SATURATE
} mlib_blend;

See the following table for the definitions of the blend factors.

TypeBlend Factor [*]Abbr.

MLIB_BLEND_ZERO(0,0,0,0)ZERO
MLIB_BLEND_ONE
MLIB_BLEND_DST_COLOR
MLIB_BLEND_SRC_COLOR
MLIB_BLEND_ONE_MINUS_DST_COLOR
MLIB_BLEND_ONE_MINUS_SRC_COLOR
MLIB_BLEND_DST_ALPHA
MLIB_BLEND_SRC_ALPHA
MLIB_BLEND_ONE_MINUS_DST_ALPHA
MLIB_BLEND_ONE_MINUS_SRC_ALPHA
MLIB_BLEND_SRC_ALPHA_SATURATE

[*]: The components of the first source image pixel are (Rd,Gd,Bd,Ad), and the components of the second source pixel are (Rs,Gs,Bs,As). Function f = min(As, 1-Ad).

The blending formula for non-in-place processing is:

Cd = Cs1*S1 + Cs2*S2

where Cd is the destination pixel (Rd,Gd,Bd,Ad), Cs1 is the first source pixel (Rs1,Gs1,Bs1,As1), Cs2 is the second source pixel (Rs2,Gs2,Bs2,As2), and S1 and S2 are the blend factors for the first and second sources, respectively.  

PARAMETERS

The function takes the following arguments:

dst

Pointer to destination image.

src1

Pointer to the first source image.

src2

Pointer to the second source image.

bsrc1

Blend factor type for the first source image.

bsrc2

Blend factor type for the second source image.

cmask

Channel mask to indicate the alpha channel. Each bit of the mask represents a channel in the image. The channel corresponding to the 1 bit is the alpha channel. cmask must be either 0x01 or 0x08.

 

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 TYPEATTRIBUTE VALUE

Interface StabilityCommitted

MT-Level

 

SEE ALSO

mlib_ImageBlend_BSRC1_BSRC2(3MLIB), mlib_ImageBlend_BSRC1_BSRC2_Inp(3MLIB), mlib_ImageComposite_Inp(3MLIB), attributes(5)


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
RETURN VALUES
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:38:02 GMT, October 02, 2010