### Constructor

# Vips Image thumbnail_source

#### Declaration [src]

    int
    vips_thumbnail_source (
      VipsSource* source,
      VipsImage** out,
      int width,
      ...
    )

#### Description [src]

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

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

`source`

  Type: `VipsSource`

  Source to thumbnail.

  The data is owned by the caller of the function.

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