UNPKG

3.24 kBMarkdownView Raw
1# sharp
2
3<img src="https://raw.githubusercontent.com/lovell/sharp/master/docs/image/sharp-logo.svg?sanitize=true" width="160" height="160" alt="sharp logo" align="right">
4
5```sh
6npm install sharp
7```
8
9The typical use case for this high speed Node.js module
10is to convert large images in common formats to
11smaller, web-friendly JPEG, PNG and WebP images of varying dimensions.
12
13Resizing an image is typically 4x-5x faster than using the
14quickest ImageMagick and GraphicsMagick settings
15due to its use of [libvips](https://github.com/libvips/libvips).
16
17Colour spaces, embedded ICC profiles and alpha transparency channels are all handled correctly.
18Lanczos resampling ensures quality is not sacrificed for speed.
19
20As well as image resizing, operations such as
21rotation, extraction, compositing and gamma correction are available.
22
23Most modern macOS, Windows and Linux systems running Node.js v10+
24do not require any additional install or runtime dependencies.
25
26## Examples
27
28```javascript
29const sharp = require('sharp');
30```
31
32### Callback
33
34```javascript
35sharp(inputBuffer)
36 .resize(320, 240)
37 .toFile('output.webp', (err, info) => { ... });
38```
39
40### Promise
41
42```javascript
43sharp('input.jpg')
44 .rotate()
45 .resize(200)
46 .toBuffer()
47 .then( data => { ... })
48 .catch( err => { ... });
49```
50
51### Async/await
52
53```javascript
54const semiTransparentRedPng = await sharp({
55 create: {
56 width: 48,
57 height: 48,
58 channels: 4,
59 background: { r: 255, g: 0, b: 0, alpha: 0.5 }
60 }
61})
62 .png()
63 .toBuffer();
64```
65
66### Stream
67
68```javascript
69const roundedCorners = Buffer.from(
70 '<svg><rect x="0" y="0" width="200" height="200" rx="50" ry="50"/></svg>'
71);
72
73const roundedCornerResizer =
74 sharp()
75 .resize(200, 200)
76 .composite([{
77 input: roundedCorners,
78 blend: 'dest-in'
79 }])
80 .png();
81
82readableStream
83 .pipe(roundedCornerResizer)
84 .pipe(writableStream);
85```
86
87[![Test Coverage](https://coveralls.io/repos/lovell/sharp/badge.svg?branch=master)](https://coveralls.io/r/lovell/sharp?branch=master)
88
89### Documentation
90
91Visit [sharp.pixelplumbing.com](https://sharp.pixelplumbing.com/) for complete
92[installation instructions](https://sharp.pixelplumbing.com/install),
93[API documentation](https://sharp.pixelplumbing.com/api-constructor),
94[benchmark tests](https://sharp.pixelplumbing.com/performance) and
95[changelog](https://sharp.pixelplumbing.com/changelog).
96
97### Contributing
98
99A [guide for contributors](https://github.com/lovell/sharp/blob/master/.github/CONTRIBUTING.md)
100covers reporting bugs, requesting features and submitting code changes.
101
102### Licensing
103
104Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Lovell Fuller and contributors.
105
106Licensed under the Apache License, Version 2.0 (the "License");
107you may not use this file except in compliance with the License.
108You may obtain a copy of the License at
109[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
110
111Unless required by applicable law or agreed to in writing, software
112distributed under the License is distributed on an "AS IS" BASIS,
113WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
114See the License for the specific language governing permissions and
115limitations under the License.