From 007d7b2d9579fb8659604dd57ce4bef56cb8ee24 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 8 Sep 2014 12:26:32 +0200 Subject: [PATCH] Fix handling of RGBA buffers in CalRGB colorspace (issue 5270) --- src/core/colorspace.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/core/colorspace.js b/src/core/colorspace.js index 361b48683..9381def65 100644 --- a/src/core/colorspace.js +++ b/src/core/colorspace.js @@ -1080,20 +1080,21 @@ var CalRGBCS = (function CalRGBCSClosure() { convertToRgb(this, src, srcOffset, dest, destOffset, 1); }, getRgbBuffer: function CalRGBCS_getRgbBuffer(src, srcOffset, count, - dest, destOffset, bits) { + dest, destOffset, bits, + alpha01) { var scale = 1 / ((1 << bits) - 1); for (var i = 0; i < count; ++i) { convertToRgb(this, src, srcOffset, dest, destOffset, scale); srcOffset += 3; - destOffset += 3; + destOffset += 3 + alpha01; } }, - getOutputLength: function CalRGBCS_getOutputLength(inputLength) { - return inputLength; + getOutputLength: function CalRGBCS_getOutputLength(inputLength, alpha01) { + return (inputLength * (3 + alpha01) / 3) | 0; }, isPassthrough: ColorSpace.prototype.isPassthrough, - createRgbBuffer: ColorSpace.prototype.createRgbBuffer, + fillRgb: ColorSpace.prototype.fillRgb, isDefaultDecode: function CalRGBCS_isDefaultDecode(decodeMap) { return ColorSpace.isDefaultDecode(decodeMap, this.numComps); },