Method
VipsImageaffine
Declaration [src]
int
vips_affine (
VipsImage* in,
VipsImage** out,
double a,
double b,
double c,
double d,
...
)
Description [src]
This operator performs an affine transform on an image using interpolate.
The transform is:
X = @a * (x + @idx) + @b * (y + @idy) + @odx
Y = @c * (x + @idx) + @d * (y + @idy) + @doy
where:
x and y are the coordinates in input image.
X and Y are the coordinates in output image.
(0,0) is the upper left corner.
The section of the output space defined by oarea is written to
out. oarea is a four-element int array of left, top, width, height.
By default oarea is just large enough to cover the whole of the
transformed input image.
By default, new pixels are filled with background. This defaults to
zero (black). You can set other extend types with extend.
VIPS_EXTEND_COPY is better for image upsizing.
interpolate defaults to bilinear.
idx, idy, odx, ody default to zero.
Image are normally treated as unpremultiplied, so this operation can be
used directly on PNG images. If your images have been through
vips_premultiply(), set premultiplied.
This operation does not change xres or yres. The image resolution needs to be updated by the application.
Optional arguments
interpolate:VipsInterpolate, interpolate pixels with thisoarea:VipsArrayInt, output rectangleidx:gdouble, input horizontal offsetidy:gdouble, input vertical offsetodx:gdouble, output horizontal offsetody:gdouble, output vertical offsetextend:VipsExtend, how to generate new pixelsbackground:VipsArrayDoublecolour for new pixelspremultiplied:gboolean, images are already premultiplied
See also
This method is not directly available to language bindings.
Parameters
out-
Type:
VipsImageOutput image.
The argument will be set by the function. The caller of the method takes ownership of the returned data, and is responsible for freeing it. a-
Type:
doubleTransformation matrix coefficient.
b-
Type:
doubleTransformation matrix coefficient.
c-
Type:
doubleTransformation matrix coefficient.
d-
Type:
doubleTransformation matrix coefficient.
...-
Type:
NULL-terminated list of optional named arguments.