### Constructor

# Vips Image xyz

#### Declaration [src]

    int
    vips_xyz (
      VipsImage** out,
      int width,
      int height,
      ...
    )

#### Description [src]

Create a two-band uint32 image where the elements in the first band have the value of their x coordinate and elements in the second band have their y coordinate.

You can make any image where the value of a pixel is a function of its (x, y) coordinate by combining this operator with the arithmetic operators.

Set `csize`, `dsize`, `esize` to generate higher dimensions and add more bands. The extra dimensions are placed down the vertical axis. Use `vips_grid()` to change the layout.

Optional arguments

- `csize`: `gint`, size for third dimension
- `dsize`: `gint`, size for fourth dimension
- `esize`: `gint`, size for fifth dimension

See also

`vips_grey()`, `vips_grid()`, `vips_identity()`.

This constructor is not directly available to language bindings.

#### Parameters

`out`

  Type: `VipsImage`

  Output image.

  The argument will be set by the function.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.

`width`

  Type: `int`

  Horizontal size.

`height`

  Type: `int`

  Vertical size.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.