man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_ImageZoomBlend (3MLIB)

Name

mlib_ImageZoomBlend - image scaling with alpha blending

Synopsis

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

mlib_status mlib_ImageZoomBlend(mlib_image *dst, const mlib_image *src,
     mlib_d64 zoomx, mlib_d64 zoomy, mlib_filter filter, mlib_edge edge,
     mlib_blend blend, mlib_s32 alpha, mlib_s32 cmask);

Description

The mlib_ImageZoomBlend() function will enlarge or minify the source image by the X and Y zoom factors and blend it with the destination image.

This function is a special case of mlib_ImageZoomTranslateBlend() with the center of the source image being mapped to the center of the destination image.

The center of the upper-left corner pixel of an image is considered to be located at (0.5, 0.5).

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.

filter

Type of resampling filter. It can be one of the following:

MLIB_NEAREST
MLIB_BILINEAR
MLIB_BICUBIC
MLIB_BICUBIC2
edge

Type of edge condition. It can be one of the following:

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 following:

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 attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

mlib_ImageZoomTranslateBlend(3MLIB), mlib_ImageZoomTranslateTableBlend(3MLIB), attributes(5)