Method

VipsImagemultiply

Declaration [src]

int
vips_multiply (
  VipsImage* left,
  VipsImage* right,
  VipsImage** out,
  ...
)

Description [src]

This operation calculates left * right and writes the result to out.

If the images differ in size, the smaller image is enlarged to match the larger by adding zero pixels along the bottom and right.

If the number of bands differs, one of the images must have one band. In this case, an n-band image is formed from the one-band image by joining n copies of the one-band image together, and then the two n-band images are operated upon.

The two input images are cast up to the smallest common format (see table Smallest common format in arithmetic), then the following table is used to determine the output type:

vips_multiply() type promotion

input type output type
uchar ushort
char short
ushort uint
short int
uint uint
int int
float float
double double
complex complex
double complex double complex

In other words, the output type is just large enough to hold the whole range of possible values.

This method is not directly available to language bindings.

Parameters

right

Type: VipsImage

Right-hand image.

The data is owned by the caller of the method.
out

Type: VipsImage

Output 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.
...

Type: 

NULL-terminated list of optional named arguments.

Return value

Type: int

0 on success, -1 on error.