Vips.Image.jpegsave_buffer

### Method

# Vips Imagejpegsave_buffer

#### Declaration [src]

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

#### Description [src]

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

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

Optional arguments

- `Q`: `gint`, quality factor
- `optimize_coding`: `gboolean`, compute optimal Huffman coding tables
- `interlace`: `gboolean`, write an interlaced (progressive) jpeg
- `subsample_mode`: `VipsForeignSubsample`, chroma subsampling mode
- `trellis_quant`: `gboolean`, apply trellis quantisation to each 8x8 block
- `overshoot_deringing`: `gboolean`, overshoot samples with extreme values
- `optimize_scans`: `gboolean`, split DCT coefficients into separate scans
- `quant_table`: `gint`, quantization table index
- `restart_interval`: `gint`, restart interval in mcu

See also

`vips_jpegsave()`, `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.