Go to main content

man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2017
 
 

mlib_ImageZoomTranslateTable_Fp (3MLIB)

Name

mlib_ImageZoomTranslateTable_Fp - zoom, with translation, with table-driven interpolation

Synopsis

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

mlib_status mlib_ImageZoomTranslateTable_Fp(mlib_image *dst, 
     const mlib_image *src, mlib_d64 zoomx, mlib_d64 zoomy, 
     mlib_d64 tx, mlib_d64 ty, const void *interp_table, 
     mlib_edge edge);

Description

The mlib_ImageZoomTranslateTable_Fp() function will enlarge or minify the floating-point source image by the X and Y zoom factors, with translation. It uses a table, interp_table, to do interpolation.

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 destination image.

The data type of the images can be MLIB_FLOAT or MLIB_DOUBLE.

The width and height of the destination image can be different from the width and height of the source image.

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

Parameters

The function takes the following arguments:

dst

Pointer to destination image.

src

Pointer to source image.

zoomx

X zoom factor. zoomx > 0.

zoomy

Y zoom factor. zoomy > 0.

tx

X translation.

ty

Y translation.

interp_table

Pointer to an interpolation table. The table is created by the mlib_ImageInterpTableCreate() function.

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

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_ImageInterpTableCreate(3MLIB), mlib_ImageInterpTableDelete(3MLIB), mlib_ImageZoomTranslateTable(3MLIB), mlib_ImageZoomTranslate(3MLIB), mlib_ImageZoomTranslate_Fp(3MLIB), attributes(5)