Fix handling of RGBA buffers in CalRGB colorspace (issue 5270)
This commit is contained in:
parent
1d9dc37337
commit
007d7b2d95
@ -1080,20 +1080,21 @@ var CalRGBCS = (function CalRGBCSClosure() {
|
|||||||
convertToRgb(this, src, srcOffset, dest, destOffset, 1);
|
convertToRgb(this, src, srcOffset, dest, destOffset, 1);
|
||||||
},
|
},
|
||||||
getRgbBuffer: function CalRGBCS_getRgbBuffer(src, srcOffset, count,
|
getRgbBuffer: function CalRGBCS_getRgbBuffer(src, srcOffset, count,
|
||||||
dest, destOffset, bits) {
|
dest, destOffset, bits,
|
||||||
|
alpha01) {
|
||||||
var scale = 1 / ((1 << bits) - 1);
|
var scale = 1 / ((1 << bits) - 1);
|
||||||
|
|
||||||
for (var i = 0; i < count; ++i) {
|
for (var i = 0; i < count; ++i) {
|
||||||
convertToRgb(this, src, srcOffset, dest, destOffset, scale);
|
convertToRgb(this, src, srcOffset, dest, destOffset, scale);
|
||||||
srcOffset += 3;
|
srcOffset += 3;
|
||||||
destOffset += 3;
|
destOffset += 3 + alpha01;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getOutputLength: function CalRGBCS_getOutputLength(inputLength) {
|
getOutputLength: function CalRGBCS_getOutputLength(inputLength, alpha01) {
|
||||||
return inputLength;
|
return (inputLength * (3 + alpha01) / 3) | 0;
|
||||||
},
|
},
|
||||||
isPassthrough: ColorSpace.prototype.isPassthrough,
|
isPassthrough: ColorSpace.prototype.isPassthrough,
|
||||||
createRgbBuffer: ColorSpace.prototype.createRgbBuffer,
|
fillRgb: ColorSpace.prototype.fillRgb,
|
||||||
isDefaultDecode: function CalRGBCS_isDefaultDecode(decodeMap) {
|
isDefaultDecode: function CalRGBCS_isDefaultDecode(decodeMap) {
|
||||||
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
|
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user