9.5 KiB
rotate
Rotate the output image by either an explicit angle
or auto-orient based on the EXIF Orientation tag.
If an angle is provided, it is converted to a valid positive degree rotation.
For example, -450 will produce a 270deg rotation.
When rotating by an angle other than a multiple of 90,
the background colour can be provided with the background option.
If no angle is provided, it is determined from the EXIF data. Mirroring is supported and may infer the use of a flip operation.
The use of rotate implies the removal of the EXIF Orientation tag, if any.
Method order is important when both rotating and extracting regions,
for example rotate(x).extract(y) will produce a different result to extract(y).rotate(x).
Parameters
angleNumber angle of rotation. (optional, defaultauto)optionsObject? if present, is an Object with optional attributes.
Examples
const pipeline = sharp()
.rotate()
.resize(null, 200)
.toBuffer(function (err, outputBuffer, info) {
// outputBuffer contains 200px high JPEG image data,
// auto-rotated using EXIF Orientation tag
// info.width and info.height contain the dimensions of the resized image
});
readableStream.pipe(pipeline);
- Throws Error Invalid parameters
Returns Sharp
flip
Flip the image about the vertical Y axis. This always occurs after rotation, if any.
The use of flip implies the removal of the EXIF Orientation tag, if any.
Parameters
flipBoolean (optional, defaulttrue)
Returns Sharp
flop
Flop the image about the horizontal X axis. This always occurs after rotation, if any.
The use of flop implies the removal of the EXIF Orientation tag, if any.
Parameters
flopBoolean (optional, defaulttrue)
Returns Sharp
sharpen
Sharpen the image.
When used without parameters, performs a fast, mild sharpen of the output image.
When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
Separate control over the level of sharpening in "flat" and "jagged" areas is available.
Parameters
-
sigmaNumber? the sigma of the Gaussian mask, wheresigma = 1 + radius / 2. -
flatNumber the level of sharpening to apply to "flat" areas. (optional, default1.0) -
jaggedNumber the level of sharpening to apply to "jagged" areas. (optional, default2.0) -
Throws Error Invalid parameters
Returns Sharp
median
Apply median filter. When used without parameters the default window is 3x3.
Parameters
Returns Sharp
blur
Blur the image.
When used without parameters, performs a fast, mild blur of the output image.
When a sigma is provided, performs a slower, more accurate Gaussian blur.
Parameters
-
sigmaNumber? a value between 0.3 and 1000 representing the sigma of the Gaussian mask, wheresigma = 1 + radius / 2. -
Throws Error Invalid parameters
Returns Sharp
flatten
Merge alpha transparency channel, if any, with a background.
Parameters
optionsObject?
Returns Sharp
gamma
Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma
then increasing the encoding (brighten) post-resize at a factor of gamma.
This can improve the perceived brightness of a resized image in non-linear colour spaces.
JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation
when applying a gamma correction.
Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases.
Parameters
-
gammaNumber value between 1.0 and 3.0. (optional, default2.2) -
gammaOutNumber? value between 1.0 and 3.0. (optional, defaults to same asgamma) -
Throws Error Invalid parameters
Returns Sharp
negate
Produce the "negative" of the image.
Parameters
negateBoolean (optional, defaulttrue)
Returns Sharp
normalise
Enhance output image contrast by stretching its luminance to cover the full dynamic range.
Parameters
normaliseBoolean (optional, defaulttrue)
Returns Sharp
normalize
Alternative spelling of normalise.
Parameters
normalizeBoolean (optional, defaulttrue)
Returns Sharp
convolve
Convolve the image with the specified kernel.
Parameters
kernelObjectkernel.widthNumber width of the kernel in pixels.kernel.heightNumber width of the kernel in pixels.kernel.kernelArray<Number> Array of lengthwidth*heightcontaining the kernel values.kernel.scaleNumber the scale of the kernel in pixels. (optional, defaultsum)kernel.offsetNumber the offset of the kernel in pixels. (optional, default0)
Examples
sharp(input)
.convolve({
width: 3,
height: 3,
kernel: [-1, 0, 1, -2, 0, 2, -1, 0, 1]
})
.raw()
.toBuffer(function(err, data, info) {
// data contains the raw pixel data representing the convolution
// of the input image with the horizontal Sobel operator
});
- Throws Error Invalid parameters
Returns Sharp
threshold
Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0.
Parameters
-
thresholdNumber a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default128) -
optionsObject? -
Throws Error Invalid parameters
Returns Sharp
boolean
Perform a bitwise boolean operation with operand image.
This operation creates an output image where each pixel is the result of
the selected bitwise boolean operation between the corresponding pixels of the input images.
Parameters
-
operand(Buffer | String) Buffer containing image data or String containing the path to an image file. -
operatorString one ofand,ororeorto perform that bitwise operation, like the C logic operators&,|and^respectively. -
optionsObject? -
Throws Error Invalid parameters
Returns Sharp
linear
Apply the linear formula a * input + b to the image (levels adjustment)
Parameters
-
aNumber multiplier (optional, default1.0) -
bNumber offset (optional, default0.0) -
Throws Error Invalid parameters
Returns Sharp
recomb
Recomb the image with the specified matrix.
Parameters
Examples
sharp(input)
.recomb([
[0.3588, 0.7044, 0.1368],
[0.2990, 0.5870, 0.1140],
[0.2392, 0.4696, 0.0912],
])
.raw()
.toBuffer(function(err, data, info) {
// data contains the raw pixel data after applying the recomb
// With this example input, a sepia filter has been applied
});
- Throws Error Invalid parameters
Returns Sharp
modulate
Transforms the image using brightness, saturation and hue rotation.
Parameters
optionsObject?
Examples
sharp(input)
.modulate({
brightness: 2 // increase lightness by a factor of 2
});
sharp(input)
.modulate({
hue: 180 // hue-rotate by 180 degrees
});
// decreate brightness and saturation while also hue-rotating by 90 degrees
sharp(input)
.modulate({
brightness: 0.5,
saturation: 0.5,
hue: 90
});
Returns Sharp