.TH IM_AFFINE 3 "21 December 1999"
.SH NAME
im_affine \- apply an affine transform to an image
.SH SYNOPSIS
.B #include <vips/vips.h>

int im_affine(in, out, a, b, c, d, dx, dy, x, y, w, h)
.br
.B IMAGE *in, *out;
.br
.B double a, b, c, d, dx, dy;
.br
.B int x, y;
.br
.B int w, h;

.SH DESCRIPTION
This function is deprecated. See
.B im_affine(3)
for the replacement.

.B im_affine(3)
applies an affine transformation on the image held by the IMAGE descriptor
in and puts the result at the location pointed by the IMAGE descriptor out. in
many have any number of bands, be any size, and have any non-complex type.

The transformation is described by a, b, c, d, dx, dy.  The point (x,y) in 
the input is mapped onto point (X,Y) in the output by

 X = a * x + b * y + dx
 Y = c * x + d * y + dy

The area of the output image given by w, h, x, y is generated. (0,0) is 
the position of the transformed top-left-hand corner of the input image.
Function im_affine resamples the transformed image using bilinear
interpolation.

.SH RETURN VALUE
The functions return 0 on success and -1 on error.
.SH SEE ALSO
im_similarity(3)
