### Method

# Vips Image gravity

#### Declaration [src]

    int
    vips_gravity (
      VipsImage* in,
      VipsImage** out,
      VipsCompassDirection direction,
      int width,
      int height,
      ...
    )

#### Description [src]

The opposite of `vips_extract_area()`: place `in` within an image of size `width` by `height` at a certain gravity.

`extend` controls what appears in the new pels, see `VipsExtend`.

Optional arguments

- `extend`: `VipsExtend` to generate the edge pixels (default: `VIPS_EXTEND_BLACK`)
- `background`: `VipsArrayDouble` colour for edge pixels

See also

`vips_extract_area()`, `vips_insert()`.

This method is not directly available to language bindings.

#### Parameters

`out`

  Type: `VipsImage`

  Output image.

  The data is owned by the caller of the method.

`direction`

  Type: `VipsCompassDirection`

  Place `in` at this direction in `out`.

`width`

  Type: `int`

  `out` should be this many pixels across.

`height`

  Type: `int`

  `out` should be this many pixels down.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.