Brendan Dahl 14 years ago
parent
commit
03ec82ba62
  1. 10
      src/evaluator.js
  2. 6
      src/image.js

10
src/evaluator.js

@ -221,13 +221,15 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
fn = 'paintImageXObject'; fn = 'paintImageXObject';
PDFImage.buildImage(function(imageObj) { PDFImage.buildImage(function(imageObj) {
var mw = imageObj.maxWidth;
var mh = imageObj.maxHeight;
var imgData = { var imgData = {
width: imageObj.maxWidth, width: mw,
height: imageObj.maxHeight, height: mh,
data: new Uint8Array(imageObj.maxWidth * imageObj.maxHeight * 4) data: new Uint8Array(mw * mh * 4)
}; };
var pixels = imgData.data; var pixels = imgData.data;
imageObj.fillRgbaBuffer(pixels, imageObj.maxWidth, imageObj.maxHeight); imageObj.fillRgbaBuffer(pixels, mw, mh);
handler.send('obj', [objId, 'Image', imgData]); handler.send('obj', [objId, 'Image', imgData]);
}, handler, xref, resources, image, inline); }, handler, xref, resources, image, inline);
} }

6
src/image.js

@ -154,7 +154,7 @@ var PDFImage = (function PDFImageClosure() {
oldIndex = ((py * w1) + px); oldIndex = ((py * w1) + px);
if (components === 1) { if (components === 1) {
temp[newIndex] = pixels[oldIndex]; temp[newIndex] = pixels[oldIndex];
} else if(components === 3) { } else if (components === 3) {
newIndex *= 3; newIndex *= 3;
oldIndex *= 3; oldIndex *= 3;
temp[newIndex] = pixels[oldIndex]; temp[newIndex] = pixels[oldIndex];
@ -321,8 +321,8 @@ var PDFImage = (function PDFImageClosure() {
var comps = this.colorSpace.getRgbBuffer( var comps = this.colorSpace.getRgbBuffer(
this.getComponents(imgArray), bpc); this.getComponents(imgArray), bpc);
if (originalWidth != width || originalHeight != height) if (originalWidth != width || originalHeight != height)
comps = PDFImage.resize(comps, this.bpc, 3, originalWidth, originalHeight, comps = PDFImage.resize(comps, this.bpc, 3, originalWidth,
width, height); originalHeight, width, height);
var compsPos = 0; var compsPos = 0;
var opacity = this.getOpacity(width, height); var opacity = this.getOpacity(width, height);
var opacityPos = 0; var opacityPos = 0;

Loading…
Cancel
Save