Method
VipsImagemapim
Declaration [src]
int
vips_mapim (
VipsImage* in,
VipsImage** out,
VipsImage* index,
...
)
Description [src]
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. VipsExtend
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.
Optional arguments
interpolate:VipsInterpolate, interpolate pixels with thisextend:VipsExtend, how to generate new pixelsbackground:VipsArrayDouble, colour for new pixelspremultiplied:gboolean, images are already premultiplied
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 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.