<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## tint

Tint the image using the provided chroma while preserving the image luminance.
An alpha channel may be present and will be unchanged by the operation.

### Parameters

*   `rgb` **([string][1] | [Object][2])** parsed by the [color][3] module to extract chroma values.

### Examples

```javascript
const output = await sharp(input)
  .tint({ r: 255, g: 240, b: 16 })
  .toBuffer();
```

*   Throws **[Error][4]** Invalid parameter

Returns **Sharp**&#x20;

## greyscale

Convert to 8-bit greyscale; 256 shades of grey.
This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results.
By default the output image will be web-friendly sRGB and contain three (identical) color channels.
This may be overridden by other sharp operations such as `toColourspace('b-w')`,
which will produce an output image containing one color channel.
An alpha channel may be present, and will be unchanged by the operation.

### Parameters

*   `greyscale` **[Boolean][5]**  (optional, default `true`)

### Examples

```javascript
const output = await sharp(input).greyscale().toBuffer();
```

Returns **Sharp**&#x20;

## grayscale

Alternative spelling of `greyscale`.

### Parameters

*   `grayscale` **[Boolean][5]**  (optional, default `true`)

Returns **Sharp**&#x20;

## pipelineColourspace

Set the pipeline colourspace.

The input image will be converted to the provided colourspace at the start of the pipeline.
All operations will use this colourspace before converting to the output colourspace, as defined by [toColourspace][6].

This feature is experimental and has not yet been fully-tested with all operations.

### Parameters

*   `colourspace` **[string][1]?** pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...][7]

### Examples

```javascript
// Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB.
await sharp(input)
 .pipelineColourspace('rgb16')
 .toColourspace('srgb')
 .toFile('16bpc-pipeline-to-8bpc-output.png')
```

*   Throws **[Error][4]** Invalid parameters

Returns **Sharp**&#x20;

**Meta**

*   **since**: 0.29.0

## pipelineColorspace

Alternative spelling of `pipelineColourspace`.

### Parameters

*   `colorspace` **[string][1]?** pipeline colorspace.

<!---->

*   Throws **[Error][4]** Invalid parameters

Returns **Sharp**&#x20;

## toColourspace

Set the output colourspace.
By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.

### Parameters

*   `colourspace` **[string][1]?** output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...][8]

### Examples

```javascript
// Output 16 bits per pixel RGB
await sharp(input)
 .toColourspace('rgb16')
 .toFile('16-bpp.png')
```

*   Throws **[Error][4]** Invalid parameters

Returns **Sharp**&#x20;

## toColorspace

Alternative spelling of `toColourspace`.

### Parameters

*   `colorspace` **[string][1]?** output colorspace.

<!---->

*   Throws **[Error][4]** Invalid parameters

Returns **Sharp**&#x20;

[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String

[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object

[3]: https://www.npmjs.org/package/color

[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error

[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean

[6]: #tocolourspace

[7]: https://github.com/libvips/libvips/blob/41cff4e9d0838498487a00623462204eb10ee5b8/libvips/iofuncs/enumtypes.c#L774

[8]: https://github.com/libvips/libvips/blob/3c0bfdf74ce1dc37a6429bed47fa76f16e2cd70a/libvips/iofuncs/enumtypes.c#L777-L794
