| Current File : //usr/share/man/man3mlib/mlib_ImageBlend_BSRC1_BSRC2_Inp.3mlib |
'\" te
.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
.TH mlib_ImageBlend_BSRC1_BSRC2_Inp 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions"
.SH NAME
mlib_ImageBlend_BSRC1_BSRC2_Inp, mlib_ImageBlend_DA_DA_Inp, mlib_ImageBlend_DA_DC_Inp, mlib_ImageBlend_DA_OMDA_Inp, mlib_ImageBlend_DA_OMDC_Inp, mlib_ImageBlend_DA_OMSA_Inp, mlib_ImageBlend_DA_ONE_Inp, mlib_ImageBlend_DA_SA_Inp, mlib_ImageBlend_DA_SAS_Inp, mlib_ImageBlend_DA_ZERO_Inp, mlib_ImageBlend_OMDA_DA_Inp, mlib_ImageBlend_OMDA_DC_Inp, mlib_ImageBlend_OMDA_OMDA_Inp, mlib_ImageBlend_OMDA_OMDC_Inp, mlib_ImageBlend_OMDA_OMSA_Inp, mlib_ImageBlend_OMDA_ONE_Inp, mlib_ImageBlend_OMDA_SA_Inp, mlib_ImageBlend_OMDA_SAS_Inp, mlib_ImageBlend_OMDA_ZERO_Inp, mlib_ImageBlend_OMSA_DA_Inp, mlib_ImageBlend_OMSA_DC_Inp, mlib_ImageBlend_OMSA_OMDA_Inp, mlib_ImageBlend_OMSA_OMDC_Inp, mlib_ImageBlend_OMSA_OMSA_Inp, mlib_ImageBlend_OMSA_ONE_Inp, mlib_ImageBlend_OMSA_SA_Inp, mlib_ImageBlend_OMSA_SAS_Inp, mlib_ImageBlend_OMSA_ZERO_Inp, mlib_ImageBlend_OMSC_DA_Inp, mlib_ImageBlend_OMSC_DC_Inp, mlib_ImageBlend_OMSC_OMDA_Inp, mlib_ImageBlend_OMSC_OMDC_Inp, mlib_ImageBlend_OMSC_OMSA_Inp, mlib_ImageBlend_OMSC_ONE_Inp, mlib_ImageBlend_OMSC_SA_Inp, mlib_ImageBlend_OMSC_SAS_Inp, mlib_ImageBlend_OMSC_ZERO_Inp, mlib_ImageBlend_ONE_DA_Inp, mlib_ImageBlend_ONE_DC_Inp, mlib_ImageBlend_ONE_OMDA_Inp, mlib_ImageBlend_ONE_OMDC_Inp, mlib_ImageBlend_ONE_OMSA_Inp, mlib_ImageBlend_ONE_ONE_Inp, mlib_ImageBlend_ONE_SA_Inp, mlib_ImageBlend_ONE_SAS_Inp, mlib_ImageBlend_ONE_ZERO_Inp, mlib_ImageBlend_SA_DA_Inp, mlib_ImageBlend_SA_DC_Inp, mlib_ImageBlend_SA_OMDA_Inp, mlib_ImageBlend_SA_OMDC_Inp, mlib_ImageBlend_SA_OMSA_Inp, mlib_ImageBlend_SA_ONE_Inp, mlib_ImageBlend_SA_SA_Inp, mlib_ImageBlend_SA_SAS_Inp, mlib_ImageBlend_SA_ZERO_Inp, mlib_ImageBlend_SC_DA_Inp, mlib_ImageBlend_SC_DC_Inp, mlib_ImageBlend_SC_OMDA_Inp, mlib_ImageBlend_SC_OMDC_Inp, mlib_ImageBlend_SC_OMSA_Inp, mlib_ImageBlend_SC_ONE_Inp, mlib_ImageBlend_SC_SA_Inp, mlib_ImageBlend_SC_SAS_Inp, mlib_ImageBlend_SC_ZERO_Inp, mlib_ImageBlend_ZERO_DA_Inp, mlib_ImageBlend_ZERO_DC_Inp, mlib_ImageBlend_ZERO_OMDA_Inp, mlib_ImageBlend_ZERO_OMDC_Inp, mlib_ImageBlend_ZERO_OMSA_Inp, mlib_ImageBlend_ZERO_ONE_Inp, mlib_ImageBlend_ZERO_SA_Inp, mlib_ImageBlend_ZERO_SAS_Inp, mlib_ImageBlend_ZERO_ZERO_Inp \- blending, in place
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ]
#include <mlib.h>
\fBmlib_status\fR \fBmlib_ImageBlend_BSRC1_BSRC2_Inp\fR(\fBmlib_image *\fR\fIsrc1dst\fR,
\fBconst mlib_image *\fR\fIsrc2\fR, \fBmlib_s32\fR \fIcmask\fR);
.fi
.SH DESCRIPTION
.sp
.LP
This group of functions supports digital image composition. They are low-level, in-place, blending functions.
.sp
.LP
The image type must be \fBMLIB_BYTE\fR. 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.
.sp
.LP
BSRC1 is one of the following: ZERO, ONE, SC, OMSC, DA, SA, OMDA, or OMSA. BSRC2 is one of the following: ZERO, ONE, DC, OMDC, DA, SA, OMDA, OMSA, or SAS.
.sp
.LP
The following are predefined blend factor types used in mediaLib image composition functions.
.sp
.in +2
.nf
/* 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;
.fi
.in -2
.sp
.LP
See the following table for the definitions of the blend factors.
.sp
.sp
.TS
tab();
cw(2.97i) cw(1.85i) cw(.67i)
lw(2.97i) lw(1.85i) lw(.67i)
.
TypeBlend Factor [*]Abbr.
_
MLIB_BLEND_ZERO(0,0,0,0)ZERO
MLIB_BLEND_ONE(1,1,1,1)ONE
MLIB_BLEND_DST_COLOR(Rd,Gd,Bd,Ad)DC
MLIB_BLEND_SRC_COLOR(Rs,Gs,Bs,As)SC
MLIB_BLEND_ONE_MINUS_DST_COLOR(1,1,1,1)-(Rd,Gd,Bd,Ad)OMDC
MLIB_BLEND_ONE_MINUS_SRC_COLOR(1,1,1,1)-(Rs,Gs,Bs,As)OMSC
MLIB_BLEND_DST_ALPHA(Ad,Ad,Ad,Ad)DA
MLIB_BLEND_SRC_ALPHA(As,As,As,As)SA
MLIB_BLEND_ONE_MINUS_DST_ALPHA(1,1,1,1)-(Ad,Ad,Ad,Ad)OMDA
MLIB_BLEND_ONE_MINUS_SRC_ALPHA(1,1,1,1)-(As,As,As,As)OMSA
MLIB_BLEND_SRC_ALPHA_SATURATE(f,f,f,1)SAS
.TE
.sp
.LP
[*]: 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 first source image is also the destination image.
.sp
.LP
The blending formula for in-place processing is:
.sp
.in +2
.nf
Cd = Cd*D + Cs*S
.fi
.in -2
.sp
.LP
where Cd is the destination pixel (Rd,Gd,Bd,Ad), Cs is the source pixel (Rs,Gs,Bs,As), and D and S are the blend factors for the destination and source, respectively.
.SH PARAMETERS
.sp
.LP
Each of the functions takes the following arguments:
.sp
.ne 2
.mk
.na
\fB\fIsrc1dst\fR\fR
.ad
.RS 11n
.rt
Pointer to the first source and the destination image.
.RE
.sp
.ne 2
.mk
.na
\fB\fIsrc2\fR\fR
.ad
.RS 11n
.rt
Pointer to the second source image.
.RE
.sp
.ne 2
.mk
.na
\fB\fIcmask\fR\fR
.ad
.RS 11n
.rt
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.
.RE
.SH RETURN VALUES
.sp
.LP
Each of the functions returns \fBMLIB_SUCCESS\fR if successful. Otherwise it returns \fBMLIB_FAILURE\fR.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Interface StabilityCommitted
_
MT-LevelMT-Safe
.TE
.SH SEE ALSO
.sp
.LP
\fBmlib_ImageBlend_BSRC1_BSRC2\fR(3MLIB), \fBmlib_ImageComposite\fR(3MLIB), \fBmlib_ImageComposite_Inp\fR(3MLIB), \fBattributes\fR(5)