mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
186 lines
4.7 KiB
Markdown
186 lines
4.7 KiB
Markdown
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
|
|
## format
|
|
|
|
An Object containing nested boolean values representing the available input and output formats/methods.
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
console.log(sharp.format);
|
|
```
|
|
|
|
Returns **[Object][1]**
|
|
|
|
## interpolators
|
|
|
|
An Object containing the available interpolators and their proper values
|
|
|
|
Type: [string][2]
|
|
|
|
### nearest
|
|
|
|
[Nearest neighbour interpolation][3]. Suitable for image enlargement only.
|
|
|
|
### bilinear
|
|
|
|
[Bilinear interpolation][4]. Faster than bicubic but with less smooth results.
|
|
|
|
### bicubic
|
|
|
|
[Bicubic interpolation][5] (the default).
|
|
|
|
### locallyBoundedBicubic
|
|
|
|
[LBB interpolation][6]. Prevents some "[acutance][7]" but typically reduces performance by a factor of 2.
|
|
|
|
### nohalo
|
|
|
|
[Nohalo interpolation][8]. Prevents acutance but typically reduces performance by a factor of 3.
|
|
|
|
### vertexSplitQuadraticBasisSpline
|
|
|
|
[VSQBS interpolation][9]. Prevents "staircasing" when enlarging.
|
|
|
|
## versions
|
|
|
|
An Object containing the version numbers of libvips and its dependencies.
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
console.log(sharp.versions);
|
|
```
|
|
|
|
## cache
|
|
|
|
Gets or, when options are provided, sets the limits of _libvips'_ operation cache.
|
|
Existing entries in the cache will be trimmed after any change in limits.
|
|
This method always returns cache statistics,
|
|
useful for determining how much working memory is required for a particular task.
|
|
|
|
### Parameters
|
|
|
|
- `options` **([Object][1] \| [boolean][10])** Object with the following attributes, or boolean where true uses default cache settings and false removes all caching (optional, default `true`)
|
|
- `options.memory` **[number][11]** is the maximum memory in MB to use for this cache (optional, default `50`)
|
|
- `options.files` **[number][11]** is the maximum number of files to hold open (optional, default `20`)
|
|
- `options.items` **[number][11]** is the maximum number of operations to cache (optional, default `100`)
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
const stats = sharp.cache();
|
|
```
|
|
|
|
```javascript
|
|
sharp.cache( { items: 200 } );
|
|
sharp.cache( { files: 0 } );
|
|
sharp.cache(false);
|
|
```
|
|
|
|
Returns **[Object][1]**
|
|
|
|
## concurrency
|
|
|
|
Gets or, when a concurrency is provided, sets
|
|
the number of threads _libvips'_ should create to process each image.
|
|
The default value is the number of CPU cores.
|
|
A value of `0` will reset to this default.
|
|
|
|
The maximum number of images that can be processed in parallel
|
|
is limited by libuv's `UV_THREADPOOL_SIZE` environment variable.
|
|
|
|
This method always returns the current concurrency.
|
|
|
|
### Parameters
|
|
|
|
- `concurrency` **[number][11]?**
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
const threads = sharp.concurrency(); // 4
|
|
sharp.concurrency(2); // 2
|
|
sharp.concurrency(0); // 4
|
|
```
|
|
|
|
Returns **[number][11]** concurrency
|
|
|
|
## queue
|
|
|
|
An EventEmitter that emits a `change` event when a task is either:
|
|
|
|
- queued, waiting for _libuv_ to provide a worker thread
|
|
- complete
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
sharp.queue.on('change', function(queueLength) {
|
|
console.log('Queue contains ' + queueLength + ' task(s)');
|
|
});
|
|
```
|
|
|
|
## counters
|
|
|
|
Provides access to internal task counters.
|
|
|
|
- queue is the number of tasks this module has queued waiting for _libuv_ to provide a worker thread from its pool.
|
|
- process is the number of resize tasks currently being processed.
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
const counters = sharp.counters(); // { queue: 2, process: 4 }
|
|
```
|
|
|
|
Returns **[Object][1]**
|
|
|
|
## simd
|
|
|
|
Get and set use of SIMD vector unit instructions.
|
|
Requires libvips to have been compiled with liborc support.
|
|
|
|
Improves the performance of `resize`, `blur` and `sharpen` operations
|
|
by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON.
|
|
|
|
### Parameters
|
|
|
|
- `simd` **[boolean][10]** (optional, default `true`)
|
|
|
|
### Examples
|
|
|
|
```javascript
|
|
const simd = sharp.simd();
|
|
// simd is `true` if the runtime use of liborc is currently enabled
|
|
```
|
|
|
|
```javascript
|
|
const simd = sharp.simd(false);
|
|
// prevent libvips from using liborc at runtime
|
|
```
|
|
|
|
Returns **[boolean][10]**
|
|
|
|
[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
|
|
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
|
|
[3]: http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation
|
|
|
|
[4]: http://en.wikipedia.org/wiki/Bilinear_interpolation
|
|
|
|
[5]: http://en.wikipedia.org/wiki/Bicubic_interpolation
|
|
|
|
[6]: https://github.com/jcupitt/libvips/blob/master/libvips/resample/lbb.cpp#L100
|
|
|
|
[7]: http://en.wikipedia.org/wiki/Acutance
|
|
|
|
[8]: http://eprints.soton.ac.uk/268086/
|
|
|
|
[9]: https://github.com/jcupitt/libvips/blob/master/libvips/resample/vsqbs.cpp#L48
|
|
|
|
[10]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
|
|
[11]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|