mlib_ImageZoomBlend - image scaling with alpha blending
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);
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.
The function takes the following arguments:
Pointer to destination image.
Pointer to first source image.
X zoom factor. zoomx > 0.0.
Y zoom factor. zoomy > 0.0.
Type of resampling filter. It can be one of the following:
MLIB_NEAREST MLIB_BILINEAR MLIB_BICUBIC MLIB_BICUBIC2
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
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
Overall alpha for blending.
Channel mask to indicate the alpha channel.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageZoomTranslateBlend(3MLIB), mlib_ImageZoomTranslateTableBlend(3MLIB), attributes(5)