Ensure extractChannel works with 16-bit images #1330

This commit is contained in:
Lovell Fuller
2018-08-12 20:22:39 +01:00
parent 23a4bc103e
commit d705cffdd6
4 changed files with 18 additions and 1 deletions

View File

@@ -694,9 +694,12 @@ class PipelineWorker : public Nan::AsyncWorker {
(baton->err).append("Cannot extract channel from image. Too few channels in image.");
return Error();
}
VipsInterpretation const interpretation = sharp::Is16Bit(image.interpretation())
? VIPS_INTERPRETATION_GREY16
: VIPS_INTERPRETATION_B_W;
image = image
.extract_band(baton->extractChannel)
.copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_B_W));
.copy(VImage::option()->set("interpretation", interpretation));
}
// Remove alpha channel, if any