mirror of
https://github.com/lovell/sharp.git
synced 2026-02-05 06:06:18 +01:00
Add margin option to trim operation #4480
This commit is contained in:
committed by
Lovell Fuller
parent
d161e45e06
commit
a5e726002c
@@ -540,10 +540,19 @@ function extract (options) {
|
||||
* })
|
||||
* .toBuffer();
|
||||
*
|
||||
* @example
|
||||
* // Trim image leaving (up to) a 10 pixel margin around the trimmed content.
|
||||
* const output = await sharp(input)
|
||||
* .trim({
|
||||
* margin: 10
|
||||
* })
|
||||
* .toBuffer();
|
||||
*
|
||||
* @param {Object} [options]
|
||||
* @param {string|Object} [options.background='top-left pixel'] - Background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to that of the top-left pixel.
|
||||
* @param {number} [options.threshold=10] - Allowed difference from the above colour, a positive number.
|
||||
* @param {boolean} [options.lineArt=false] - Does the input more closely resemble line art (e.g. vector) rather than being photographic?
|
||||
* @param {number} [options.margin=0] - Leave a margin around trimmed content, value is in pixels.
|
||||
* @returns {Sharp}
|
||||
* @throws {Error} Invalid parameters
|
||||
*/
|
||||
@@ -564,6 +573,13 @@ function trim (options) {
|
||||
if (is.defined(options.lineArt)) {
|
||||
this._setBooleanOption('trimLineArt', options.lineArt);
|
||||
}
|
||||
if (is.defined(options.margin)) {
|
||||
if (is.integer(options.margin) && options.margin >= 0) {
|
||||
this.options.trimMargin = options.margin;
|
||||
} else {
|
||||
throw is.invalidParameterError('margin', 'positive integer', options.margin);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw is.invalidParameterError('trim', 'object', options);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user