Fix mask handling when some bytes are missing.

This commit is contained in:
Nicholas Nethercote 2014-03-06 21:09:07 -08:00
parent 7725e9cd77
commit cb5bb0cec7

View File

@ -213,14 +213,14 @@ var PDFImage = (function PDFImageClosure() {
inverseDecode) { inverseDecode) {
// Copy imgArray into a typed array (inverting if necessary) so it can be // Copy imgArray into a typed array (inverting if necessary) so it can be
// transferred to the main thread. // transferred to the main thread.
var length = ((width + 7) >> 3) * height; var actualLength = imgArray.byteLength;
var data = new Uint8Array(length); var data = new Uint8Array(actualLength);
if (inverseDecode) { if (inverseDecode) {
for (var i = 0; i < length; i++) { for (var i = 0; i < actualLength; i++) {
data[i] = ~imgArray[i]; data[i] = ~imgArray[i];
} }
} else { } else {
for (var i = 0; i < length; i++) { for (var i = 0; i < actualLength; i++) {
data[i] = imgArray[i]; data[i] = imgArray[i];
} }
} }