![]() |
![]() |
![]() |
VIPS Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
Transformation; int im__affine (VipsImage *in
,VipsImage *out
,Transformation *trn
); int im__transform_add (const Transformation *in1
,const Transformation *in2
,Transformation *out
); int im__transform_calc_inverse (Transformation *trn
); void im__transform_forward_point (const Transformation *trn
,const double x
,const double y
,double *ox
,double *oy
); void im__transform_forward_rect (const Transformation *trn
,const VipsRect *in
,VipsRect *out
); void im__transform_init (Transformation *trn
); void im__transform_invert_point (const Transformation *trn
,const double x
,const double y
,double *ox
,double *oy
); void im__transform_invert_rect (const Transformation *trn
,const VipsRect *in
,VipsRect *out
); int im__transform_isidentity (const Transformation *trn
); void im__transform_print (const Transformation *trn
); void im__transform_set_area (Transformation *Param1
);
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 dx, dy; double ia, ib, ic, id; /* Inverse of matrix abcd */ } Transformation;
int im__transform_add (const Transformation *in1
,const Transformation *in2
,Transformation *out
);
void im__transform_forward_point (const Transformation *trn
,const double x
,const double y
,double *ox
,double *oy
);
void im__transform_forward_rect (const Transformation *trn
,const VipsRect *in
,VipsRect *out
);
void im__transform_invert_point (const Transformation *trn
,const double x
,const double y
,double *ox
,double *oy
);
void im__transform_invert_rect (const Transformation *trn
,const VipsRect *in
,VipsRect *out
);