4.0 KiB
removeAlpha
Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel.
See also flatten.
Examples
sharp('rgba.png')
.removeAlpha()
.toFile('rgb.png', function(err, info) {
// rgb.png is a 3 channel image without an alpha channel
});
Returns Sharp
ensureAlpha
Ensure the output image has an alpha transparency channel. If missing, the added alpha channel will have the specified transparency level, defaulting to fully-opaque (1). This is a no-op if the image already has an alpha channel.
Parameters
alpha
number alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default1
)
Examples
// rgba.png will be a 4 channel image with a fully-opaque alpha channel
await sharp('rgb.jpg')
.ensureAlpha()
.toFile('rgba.png')
// rgba is a 4 channel image with a fully-transparent alpha channel
const rgba = await sharp(rgb)
.ensureAlpha(0)
.toBuffer();
- Throws Error Invalid alpha transparency level
Returns Sharp
Meta
- since: 0.21.2
extractChannel
Extract a single channel from a multi-channel image.
Parameters
channel
(number | string) zero-indexed channel/band number to extract, orred
,green
,blue
oralpha
.
Examples
// green.jpg is a greyscale image containing the green channel of the input
await sharp(input)
.extractChannel('green')
.toFile('green.jpg');
// red1 is the red value of the first pixel, red2 the second pixel etc.
const [red1, red2, ...] = await sharp(input)
.extractChannel(0)
.raw()
.toBuffer();
- Throws Error Invalid channel
Returns Sharp
joinChannel
Join one or more channels to the image.
The meaning of the added channels depends on the output colourspace, set with toColourspace()
.
By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
Channel ordering follows vips convention:
- sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
- CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
Buffers may be any of the image formats supported by sharp.
For raw pixel input, the options
object should contain a raw
attribute, which follows the format of the attribute of the same name in the sharp()
constructor.
Parameters
images
(Array<(string | Buffer)> | string | Buffer) one or more images (file paths, Buffers).options
Object image options, seesharp()
constructor.
- Throws Error Invalid parameters
Returns Sharp
bandbool
Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
Parameters
boolOp
string one ofand
,or
oreor
to perform that bitwise operation, like the C logic operators&
,|
and^
respectively.
Examples
sharp('3-channel-rgb-input.png')
.bandbool(sharp.bool.and)
.toFile('1-channel-output.png', function (err, info) {
// The output will be a single channel image where each pixel `P = R & G & B`.
// If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]`
// then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`.
});
- Throws Error Invalid parameters
Returns Sharp