## transform transform |

## Functions

void | vips__transform_init ()
int | vips__transform_calc_inverse ()
int | vips__transform_isidentity ()
int | vips__transform_add ()
void | vips__transform_print ()
void | vips__transform_forward_point ()
void | vips__transform_invert_point ()
void | vips__transform_forward_rect ()
void | vips__transform_invert_rect ()
void | vips__transform_set_area ()
int | vips__affine ()

## Types and Values

| VipsTransformation

## Includes

    #include <vips/vips.h>

## Description

## Functions

### vips__transform_init ()

    void
    vips__transform_init (VipsTransformation *trn);

### vips__transform_calc_inverse ()

    int
    vips__transform_calc_inverse (VipsTransformation *trn);

### vips__transform_isidentity ()

    int
    vips__transform_isidentity (const VipsTransformation *trn);

### vips__transform_add ()

    int
    vips__transform_add (const VipsTransformation *in1,
                         const VipsTransformation *in2,
                         VipsTransformation *out);

### vips__transform_print ()

    void
    vips__transform_print (const VipsTransformation *trn);

### vips__transform_forward_point ()

    void
    vips__transform_forward_point (const VipsTransformation *trn,
                                   const double x,
                                   const double y,
                                   double *ox,
                                   double *oy);

### vips__transform_invert_point ()

    void
    vips__transform_invert_point (const VipsTransformation *trn,
                                  const double x,
                                  const double y,
                                  double *ox,
                                  double *oy);

### vips__transform_forward_rect ()

    void
    vips__transform_forward_rect (const VipsTransformation *trn,
                                  const VipsRect *in,
                                  VipsRect *out);

### vips__transform_invert_rect ()

    void
    vips__transform_invert_rect (const VipsTransformation *trn,
                                 const VipsRect *in,
                                 VipsRect *out);

### vips__transform_set_area ()

    void
    vips__transform_set_area (VipsTransformation *Param1);

### vips__affine ()

    int
    vips__affine (VipsImage *in,
                  VipsImage *out,
                  VipsTransformation *trn);

## Types and Values

### VipsTransformation

    typedef struct {
    	/* Area of input we can use. This can be smaller than the real input
    	 * image: we expand the input to add extra pixels for interpolation.
    	 */
    	VipsRect iarea;

    	/* The area of the output we've been asked to generate. left/top can
    	 * be negative.
    	 */
    	VipsRect oarea;

    	/* The transform.
    	 */
    	double a, b, c, d;
    	double idx, idy;
    	double odx, ody;

    	double ia, ib, ic, id; /* Inverse of matrix abcd */
    } VipsTransformation;