### Method

# Vips Image complexform

#### Declaration [src]

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

#### Description [src]

Compose two real images to make a complex image. If either `left` or `right` are `VIPS_FORMAT_DOUBLE`, `out` is `VIPS_FORMAT_DPCOMPLEX`. Otherwise `out` is `VIPS_FORMAT_COMPLEX`. `left` becomes the real component of `out` and `right` the imaginary.

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.

See also

`vips_complexget()`.

This method is not directly available to language bindings.

#### Parameters

`right`

  Type: `VipsImage`

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