### Method

# Vips Image dzsave_buffer

#### Declaration [src]

    int
    vips_dzsave_buffer (
      VipsImage* in,
      void** buf,
      size_t* len,
      ...
    )

#### Description [src]

As `vips_dzsave()`, but save to a memory buffer.

Output is always in a zip container. Use `basename` to set the name of the directory that the zip will create when unzipped.

The address of the buffer is returned in `buf`, the length of the buffer in `len`. You are responsible for freeing the buffer with `g_free()` when you are done with it.

Optional arguments

- `basename`: `gchararray`, base part of name
- `layout`: `VipsForeignDzLayout`, directory layout convention
- `suffix`: `gchararray`, suffix for tiles
- `overlap`: `gint`, set tile overlap
- `tile_size`: `gint`, set tile size
- `background`: `VipsArrayDouble`, background colour
- `depth`: `VipsForeignDzDepth`, how deep to make the pyramid
- `centre`: `gboolean`, centre the tiles
- `angle`: `VipsAngle`, rotate the image by this much
- `container`: `VipsForeignDzContainer`, set container type
- `compression`: `gint`, zip deflate compression level
- `region_shrink`: `VipsRegionShrink`, how to shrink each 2x2 region
- `skip_blanks`: `gint`, skip tiles which are nearly equal to the background
- `id`: `gchararray`, id for IIIF properties
- `Q`: `gint`, quality factor

See also

`vips_dzsave()`, `vips_image_write_to_file()`.

This method is not directly available to language bindings.

#### Parameters

`buf`

  Type: An array of `guint8`

  Return output buffer here.

  The length of the array is specified in the `len` argument.
  The data is owned by the caller of the method.

`len`

  Type: `size_t*`

  Return output length here.

  The data is owned by the caller of the method.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.