Windows PowerShell command on Get-command mlib_ImageZoomTranslateBlend
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man mlib_ImageZoomTranslateBlend

mediaLib Library Functions mlib_ImageZoomTranslateBlend(3MLIB)

NAME

mlib_ImageZoomTranslateBlend - image scaling with alpha

blending

SYNOPSIS

cc [ flag... ] file... -lmlib [ library... ]

#include

mlib_status mlib_ImageZoomTranslateBlend(mlib_image *dst,

const mlib_image *src, mlib_d64 zoomx, mlib_d64 zoomy,

mlib_d64 tx, mlib_d64 ty, mlib_filter filter, mlib_edge edge,

mlib_blend blend, mlib_s32 alpha, mlib_s32 cmask);

DESCRIPTION

The mlib_ImageZoomTranslateBlend() function will enlarge or

minify the source image by the X and Y zoom factors, with translation, and blend it with the destination image. It uses the following equation for coordinate mapping: xd = zoomx*xs + tx yd = zoomy*ys + ty where a point with coordinates (xs, ys) in the source image

is mapped to a point with coordinates (xd, yd) in the desti-

nation image.

The center of the upper-left corner pixel of an image is

located at (0.5, 0.5).

The alpha blending is closely combined with the interpola-

tion to achieve better performance. Part of alpha blending

has to be performed before or together with the interpola-

tion if the source image has an alpha channel. In that case, the color components of each neighboring source pixel which

participates in the interpolation (src_r and etc.) have to

be pre-multiplied by the alpha component of the same source

pixel (src_a). After the interpolation, the overall alpha

(alpha), the interpolated source alpha (interp_a) and the

destination pixel's original alpha (dst_a, if any) are used

to blend the interpolated source pixel (with components

interp_r and etc.) with the destination pixel (with com-

ponents dst_r and etc.).

SunOS 5.11 Last change: 2 Mar 2007 1

mediaLib Library Functions mlib_ImageZoomTranslateBlend(3MLIB)

The MLIB_BLEND_GTK_SRC blending is similar to the SRC rule

of the Porter-Duff rules for image compositing. It is

defined by Cd = Cs Ad = As in general, and by the following formula for this function:

if (interp_a != 0.0) {

if (dst_has_alpha) {

dst_r = interp_r/interp_a;

dst_g = interp_g/interp_a;

dst_b = interp_b/interp_a;

dst_a = interp_a;

} else {

dst_r = interp_r;

dst_g = interp_g;

dst_b = interp_b;

dst_a = 1.0; // implied

} } else {

dst_r = 0;

dst_g = 0;

dst_b = 0;

dst_a = 0;

}

The MLIB_BLEND_GTK_SRC_OVER or MLIB_BLEND_GTK_SRC_OVER2

blending is similar to the SRC_OVER rule of the Porter-Duff

rules for image compositing. It is defined by

Cd = Cs + Cd*(1 - As)

Ad = As + Ad*(1 - As)

in general, and by the following formula for this function:

w = alpha*interp_a + (1 - alpha*interp_a)*dst_a;

if (w != 0.0) {

dst_r = (alpha*interp_r +

(1 - alpha*interp_a)*dst_a*dst_r)/w;

dst_g = (alpha*interp_g +

(1 - alpha*interp_a)*dst_a*dst_g)/w;

dst_b = (alpha*interp_b +

(1 - alpha*interp_a)*dst_a*dst_b)/w;

dst_a = w;

SunOS 5.11 Last change: 2 Mar 2007 2

mediaLib Library Functions mlib_ImageZoomTranslateBlend(3MLIB)

} else if (MLIB_BLEND_GTK_SRC_OVER) {

dst_r = 0;

dst_g = 0;

dst_b = 0;

dst_a = 0;

}

where alpha, src_a, interp_a and dst_a are assumed to be in

the range of [0.0, 1.0].

For an image with 4 channels, the first or the fourth chan-

nel is considered the alpha channel if cmask equals 8 or 1, respectively. An image with 3 channels is considered to have no alpha channel, which is equivalent to having an alpha

channel filled with all 1.0, or 0xff in case of MLIB_BYTE,

if the general formulas for blending shown above are used.

Both src and dst must be of type MLIB_BYTE. They can have

either 3 or 4 channels. The src image cannot have width or height larger than 32767.

PARAMETERS

The function takes the following arguments: dst Pointer to destination image. src Pointer to first source image. zoomx X zoom factor. zoomx > 0.0. zoomy Y zoom factor. zoomy > 0.0. tx X translation. ty Y translation. filter Type of resampling filter. It can be one of the following:

MLIB_NEAREST

SunOS 5.11 Last change: 2 Mar 2007 3

mediaLib Library Functions mlib_ImageZoomTranslateBlend(3MLIB)

MLIB_BILINEAR

MLIB_BICUBIC

MLIB_BICUBIC2

edge Type of edge condition. It can be one of the fol-

lowing:

MLIB_EDGE_DST_NO_WRITE

MLIB_EDGE_DST_FILL_ZERO

MLIB_EDGE_OP_NEAREST

MLIB_EDGE_SRC_EXTEND

MLIB_EDGE_SRC_EXTEND_INDEF

MLIB_EDGE_SRC_PADDED

blend Type of alpha blending. It can be one of the fol-

lowing:

MLIB_BLEND_GTK_SRC

MLIB_BLEND_GTK_SRC_OVER

MLIB_BLEND_GTK_SRC_OVER2

alpha Overall alpha for blending. cmask Channel mask to indicate 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 attri-

butes:

SunOS 5.11 Last change: 2 Mar 2007 4

mediaLib Library Functions mlib_ImageZoomTranslateBlend(3MLIB)

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

| MT-Level | MT-Safe |

|_____________________________|_____________________________|

SEE ALSO

mlib_ImageZoomBlend(3MLIB),

mlib_ImageZoomTranslateTableBlend(3MLIB), attributes(5)

SunOS 5.11 Last change: 2 Mar 2007 5




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™