cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageZoomTranslateToGray(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, const mlib_s32 *ghigh, const mlib_s32 *glow);
The mlib_ImageZoomTranslateToGray() function will enlarge or minify the source binary image by the X and Y zoom factors, with translation, and convert the resulting image into a grayscale 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 destination image.
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. It must be of type MLIB_BYTE and have just one channel.
Pointer to source image. It must be of type MLIB_BIT and have just one channel.
X zoom factor. zoomx > 0.
Y zoom factor. zoomy > 0.
Type of resampling filter. It must be MLIB_NEAREST.
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_PADDED
Pointer to value for '1' pixels in source image.
Pointer to value for '0' pixels in source image.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes: