Inline JpegImageLoader to remove new JpegImageLoader call
This commit is contained in:
parent
685a263e54
commit
97802aac64
@ -969,8 +969,8 @@ var CanvasGraphics = (function canvasGraphics() {
|
|||||||
},
|
},
|
||||||
|
|
||||||
paintJpegXObject: function canvasGraphicsPaintJpegXObject(objId, w, h) {
|
paintJpegXObject: function canvasGraphicsPaintJpegXObject(objId, w, h) {
|
||||||
var image = this.objs.get(objId);
|
var domImage = this.objs.get(objId);
|
||||||
if (!image) {
|
if (!domImage) {
|
||||||
error('Dependent image isn\'t ready yet');
|
error('Dependent image isn\'t ready yet');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -980,7 +980,6 @@ var CanvasGraphics = (function canvasGraphics() {
|
|||||||
// scale the image to the unit square
|
// scale the image to the unit square
|
||||||
ctx.scale(1 / w, -1 / h);
|
ctx.scale(1 / w, -1 / h);
|
||||||
|
|
||||||
var domImage = image.getImage();
|
|
||||||
ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height,
|
ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height,
|
||||||
0, -h, w, h);
|
0, -h, w, h);
|
||||||
|
|
||||||
|
11
src/core.js
11
src/core.js
@ -560,8 +560,15 @@ var PDFDoc = (function pdfDoc() {
|
|||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'JpegStream':
|
case 'JpegStream':
|
||||||
var IR = data[2];
|
var imageData = data[2];
|
||||||
new JpegImageLoader(id, IR, this.objs);
|
|
||||||
|
var src = 'data:image/jpeg;base64,' + window.btoa(imageData);
|
||||||
|
var img = new Image();
|
||||||
|
img.onload = (function jpegImageLoaderOnload() {
|
||||||
|
this.objs.resolve(id, img);
|
||||||
|
}).bind(this);
|
||||||
|
img.src = src;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 'Font':
|
case 'Font':
|
||||||
var name = data[2];
|
var name = data[2];
|
||||||
|
31
src/image.js
31
src/image.js
@ -130,11 +130,11 @@ var PDFImage = (function pdfImage() {
|
|||||||
var buf = new Uint8Array(width * height);
|
var buf = new Uint8Array(width * height);
|
||||||
|
|
||||||
if (smask) {
|
if (smask) {
|
||||||
if (smask.image.getImage) {
|
if (smask.image.src) {
|
||||||
// smask is a DOM image
|
// smask is a DOM image
|
||||||
var tempCanvas = new ScratchCanvas(width, height);
|
var tempCanvas = new ScratchCanvas(width, height);
|
||||||
var tempCtx = tempCanvas.getContext('2d');
|
var tempCtx = tempCanvas.getContext('2d');
|
||||||
var domImage = smask.image.getImage();
|
var domImage = smask.image;
|
||||||
tempCtx.drawImage(domImage, 0, 0, domImage.width, domImage.height,
|
tempCtx.drawImage(domImage, 0, 0, domImage.width, domImage.height,
|
||||||
0, 0, width, height);
|
0, 0, width, height);
|
||||||
var data = tempCtx.getImageData(0, 0, width, height).data;
|
var data = tempCtx.getImageData(0, 0, width, height).data;
|
||||||
@ -228,30 +228,3 @@ var PDFImage = (function pdfImage() {
|
|||||||
};
|
};
|
||||||
return constructor;
|
return constructor;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
var JpegImageLoader = (function jpegImage() {
|
|
||||||
function JpegImageLoader(objId, imageData, objs) {
|
|
||||||
var src = 'data:image/jpeg;base64,' + window.btoa(imageData);
|
|
||||||
|
|
||||||
var img = new Image();
|
|
||||||
img.onload = (function jpegImageLoaderOnload() {
|
|
||||||
this.loaded = true;
|
|
||||||
|
|
||||||
objs.resolve(objId, this);
|
|
||||||
|
|
||||||
if (this.onLoad)
|
|
||||||
this.onLoad();
|
|
||||||
}).bind(this);
|
|
||||||
img.src = src;
|
|
||||||
this.domImage = img;
|
|
||||||
}
|
|
||||||
|
|
||||||
JpegImageLoader.prototype = {
|
|
||||||
getImage: function jpegImageLoaderGetImage() {
|
|
||||||
return this.domImage;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return JpegImageLoader;
|
|
||||||
})();
|
|
||||||
|
|
||||||
|
@ -589,7 +589,7 @@ var XRef = (function xRefXRef() {
|
|||||||
e = parser.getObj();
|
e = parser.getObj();
|
||||||
}
|
}
|
||||||
// Don't cache streams since they are mutable (except images).
|
// Don't cache streams since they are mutable (except images).
|
||||||
if (!isStream(e) || e.getImage)
|
if (!isStream(e) || e.src)
|
||||||
this.cache[num] = e;
|
this.cache[num] = e;
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user