### Constructor

# Vips Image thumbnail_buffer

#### Declaration [src]

    int
    vips_thumbnail_buffer (
      void* buf,
      size_t len,
      VipsImage** out,
      int width,
      ...
    )

#### Description [src]

Exactly as `vips_thumbnail()`, but read from a memory buffer.

One extra optional argument, `option_string`, lets you pass options to the underlying loader.

Optional arguments

- `height`: `gint`, target height in pixels
- `size`: `VipsSize`, upsize, downsize, both or force
- `no_rotate`: `gboolean`, don’t rotate upright using orientation tag
- `crop`: `VipsInteresting`, shrink and crop to fill target
- `linear`: `gboolean`, perform shrink in linear light
- `input_profile`: `gchararray`, fallback input ICC profile
- `output_profile`: `gchararray`, output ICC profile
- `intent`: `VipsIntent`, rendering intent
- `fail_on`: `VipsFailOn`, load error types to fail on
- `option_string`: `gchararray`, extra loader options

See also

`vips_thumbnail()`.

This constructor is not directly available to language bindings.

#### Parameters

`buf`

  Type: An array of `guint8`

  Memory area to load.

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

`len`

  Type: `size_t`

  Size of memory area.

`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`

  Target width in pixels.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.