### Method

# Vips Image embed

#### Declaration [src]

    int
    vips_embed (
      VipsImage* in,
      VipsImage** out,
      int x,
      int y,
      int width,
      int height,
      ...
    )

#### Description [src]

The opposite of `vips_extract_area()`: embed `in` within an image of size `width` by `height` at position `x`, `y`.

`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 argument will be set by the function.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.

`x`

  Type: `int`

  Place `in` at this x position in `out`.

`y`

  Type: `int`

  Place `in` at this y position 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.