### Constructor

# Vips Image perlin

#### Declaration [src]

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

#### Description [src]

Create a one-band float image of Perlin noise.

Use `cell_size` to set the size of the cells from which the image is constructed. The default is 256 x 256.

If `width` and `height` are multiples of `cell_size`, the image will tessellate.

Normally, output pixels are `VIPS_FORMAT_FLOAT` in the range [-1, +1]. Set `uchar` to output a uchar image with pixels in [0, 255].

Optional arguments

- `cell_size`: `gint`, size of Perlin cells
- `uchar`: `gboolean`, output a uchar image

See also

`vips_worley()`, `vips_fractsurf()`, `vips_gaussnoise()`.

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.