Method
VipsImagemapim
Declaration [src]
int
vips_mapim (
VipsImage* in,
VipsImage** out,
VipsImage* index,
...
)
Description [src]
Optional arguments:
interpolate: interpolate pixels with thisextend:VipsExtendhow to generate new pixelsbackground:VipsArrayDoublecolour for new pixelspremultiplied: %gboolean, images are already premultiplied
This operator resamples in using index to look up pixels. out is
the same size as index, with each pixel being fetched from that position in
in. That is:
out[x, y] = in[index[x, y]]
If index has one band, that band must be complex. Otherwise, index must
have two bands of any format.
Coordinates in index are in pixels, with (0, 0) being the top-left corner
of in, and with y increasing down the image. Use vips_xyz() to build index images.
interpolate defaults to bilinear.
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.
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.
See vips_maplut() for a 1D equivalent of this operation.
See also: vips_xyz(), vips_affine(), vips_resize(),
vips_maplut(), VipsInterpolate.
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. index-
Type:
VipsImageIndex image.
The data is owned by the caller of the method. ...-
Type:
NULL-terminated list of optional named arguments.