通道操作
extractChannel¶
Extract a single channel from a multi-channel image.
参数
channel(Number | String) zero-indexed band number to extract, orred,greenorblueas alternative to0,1or2respectively.
示例
sharp(input)
.extractChannel('green')
.toFile('input_green.jpg', function(err, info) {
// info.channels === 1
// input_green.jpg contains the green channel of the input image
});
- Throws Error Invalid channel
返回 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: JPEG, PNG, WebP, GIF, SVG, TIFF or raw pixel image data.
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.
参数
images(Array<(String | Buffer)> | String | Buffer) one or more images (file paths, Buffers).-
optionsObject image options, seesharp()constructor. -
Throws Error Invalid parameters
返回 Sharp
bandbool¶
Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
参数
boolOpString one ofand,ororeorto perform that bitwise operation, like the C logic operators&,|and^respectively.
示例
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
返回 Sharp