Function
VipsImagecomposite
Declaration [src]
int
vips_composite (
VipsImage** in,
VipsImage** out,
int n,
int* mode,
...
)
Description [src]
Composite an array of images together.
Images are placed in a stack, with in[0] at the bottom and in[n - 1] at
the top. Pixels are blended together working from the bottom upwards, with
the blend mode at each step being set by the corresponding VipsBlendMode
in mode.
Images are transformed to a compositing space before processing. This is
VipsInterpretation, VipsInterpretation,
VipsInterpretation, or VipsInterpretation
by default, depending on
how many bands and bits the input images have. You can select any other
space, such as VipsInterpretation or
VipsInterpretation.
The output image is in the compositing space. It will always be
VipsBandFormat unless one of the inputs is
VipsBandFormat, in which case the output will be double
as well.
Complex images are not supported.
The output image will always have an alpha band. A solid alpha is added to any input missing an alpha.
The images do not need to match in size or format. The output image is
always the size of in[0], with other images being
positioned with the x and y parameters and clipped
against that rectangle.
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.
Optional arguments
compositing_space:VipsInterpretationto composite inpremultiplied:gboolean, images are already premultipliedx:VipsArrayInt, array of (n- 1) x coordinatesy:VipsArrayInt, array of (n- 1) y coordinates
See also
This function is not directly available to language bindings.
Parameters
in-
Type: An array of
VipsImage*Array of input images.
The length of the array is specified in the nargument.The data is owned by the caller of the function. out-
Type:
VipsImageOutput image.
The argument will be set by the function. The caller of the function takes ownership of the data, and is responsible for freeing it. n-
Type:
intNumber of input images.
mode-
Type:
int*Array of (
n- 1)VipsBlendModeThe data is owned by the caller of the function. ...-
Type:
NULL-terminated list of optional named arguments.