fix performance issue with SeparationCS

This commit is contained in:
sbarman 2011-07-07 11:46:52 -07:00
parent b62eddd937
commit 39624e9173

11
pdf.js
View File

@ -4658,15 +4658,16 @@ var SeparationCS = (function() {
var rgbBuf = new Uint8Array(length); var rgbBuf = new Uint8Array(length);
var pos = 0; var pos = 0;
var numComps = base.numComps;
var baseBuf = new Uint8Array(numComps * input.length);
for (var i = 0, ii = input.length; i < ii; ++i) { for (var i = 0, ii = input.length; i < ii; ++i) {
var scaled = input[i] / 255; var scaled = input[i] / 255;
var tinted = tintFn.func([scaled]); var tinted = tintFn.func([scaled]);
var rgb = base.getRgb(tinted); for (var j = 0; j < numComps; ++j)
for (var j = 0; j < 3; ++j) baseBuf[pos++] = 255 * tinted[j];
rgbBuf[pos++] = Math.round(255 * rgb[j]);
} }
return base.getRgbBuffer(baseBuf);
return rgbBuf;
} }
}; };
@ -4856,7 +4857,7 @@ var DeviceCmykCS = (function() {
var rgb = this.getRgb(cmyk); var rgb = this.getRgb(cmyk);
for (var j = 0; j < 3; ++j) for (var j = 0; j < 3; ++j)
rgb[rgbBufPos++] = Math.round(rgb[j] * 255); rgbBuf[rgbBufPos++] = Math.round(rgb[j] * 255);
} }
return rgbBuf; return rgbBuf;