Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageZoomTranslateTable(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);
The mlib_ImageZoomTranslateTable() function will enlarge or minify the 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_BYTE, MLIB_SHORT, MLIB_USHORT, or MLIB_INT.
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).
The function takes the following arguments:
Pointer to destination image.
Pointer to source image.
X zoom factor. zoomx > 0.
Y zoom factor. zoomy > 0.
X translation.
Y translation.
Pointer to an interpolation table. The table is created by the mlib_ImageInterpTableCreate() function.
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
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
mlib_ImageInterpTableCreate(3MLIB), mlib_ImageInterpTableDelete(3MLIB), mlib_ImageZoomTranslateTable_Fp(3MLIB), mlib_ImageZoomTranslate(3MLIB), mlib_ImageZoomTranslate_Fp(3MLIB), attributes(5)
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also