mlib_ImageAffineTransform(mediaLib Library Funmlib_ImageAffineTransform(3MLIB)NAMEmlib_ImageAffineTransform - affine transformation on an image, checking
the matrix first
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageAffineTransform(mlib_image *dst,
const mlib_image *src, const mlib_d64 *mtx, mlib_filter filter,
mlib_edge edge);
DESCRIPTION
The mlib_ImageAffineTransform() function does affine transformation on
an image, checking the matrix first and taking advantage of special
cases.
The following equation represents the affine transformation:
xd = a*xs + b*ys + tx
yd = c*xs + d*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_BIT, 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).
PARAMETERS
The function takes the following arguments:
dst Pointer to destination image.
src Pointer to source image.
mtx Transformation matrix. mtx[0] holds a; mtx[1] holds b; mtx[2]
holds tx; mtx[3] holds c; mtx[4] holds d; mtx[5] holds ty.
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_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 ALSOmlib_ImageAffine(3MLIB), mlib_ImageAffine_Fp(3MLIB),
mlib_ImageAffineIndex(3MLIB), mlib_ImageAffineTransform_Fp(3MLIB),
mlib_ImageAffineTransformIndex(3MLIB), mlib_ImageSetPaddings(3MLIB),
attributes(5)SunOS 5.10 2 Mar 2007 mlib_ImageAffineTransform(3MLIB)