[Pkg-javascript-commits] [pdf.js] 24/207: Fixes masked JPEG image

David Prévot taffit at moszumanska.debian.org
Mon Jul 28 15:36:25 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository pdf.js.

commit 6b411b559db5b26c9a7ff85ace58f95af30c4f8b
Author: Yury Delendik <ydelendik at mozilla.com>
Date:   Wed Jun 4 15:53:46 2014 -0500

    Fixes masked JPEG image
---
 src/core/image.js  | 20 +++++++++++---------
 src/core/jpg.js    |  2 +-
 src/core/stream.js |  2 +-
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/core/image.js b/src/core/image.js
index 08838e1..a66081f 100644
--- a/src/core/image.js
+++ b/src/core/image.js
@@ -536,12 +536,12 @@ var PDFImage = (function PDFImageClosure() {
           }
           return imgData;
         }
-      }
-      if (this.image instanceof JpegStream) {
-        imgData.kind = ImageKind.RGB_24BPP;
-        imgData.data = this.getImageBytes(originalHeight * rowBytes,
-                                          drawWidth, drawHeight);
-        return imgData;
+        if (this.image instanceof JpegStream && !this.smask && !this.mask) {
+          imgData.kind = ImageKind.RGB_24BPP;
+          imgData.data = this.getImageBytes(originalHeight * rowBytes,
+                                            drawWidth, drawHeight, true);
+          return imgData;
+        }
       }
 
       imgArray = this.getImageBytes(originalHeight * rowBytes);
@@ -629,10 +629,12 @@ var PDFImage = (function PDFImageClosure() {
     },
 
     getImageBytes: function PDFImage_getImageBytes(length,
-                                                   drawWidth, drawHeight) {
+                                                   drawWidth, drawHeight,
+                                                   forceRGB) {
       this.image.reset();
-      this.image.drawWidth = drawWidth;
-      this.image.drawHeight = drawHeight;
+      this.image.drawWidth = drawWidth || this.width;
+      this.image.drawHeight = drawHeight || this.height;
+      this.image.forceRGB = !!forceRGB;
       return this.image.getBytes(length);
     }
   };
diff --git a/src/core/jpg.js b/src/core/jpg.js
index 1b043a0..871b823 100644
--- a/src/core/jpg.js
+++ b/src/core/jpg.js
@@ -1012,7 +1012,7 @@ var JpegImage = (function jpegImage() {
           } else {
             return this._convertYcckToCmyk(data);
           }
-        } else {
+        } else if (forceRGBoutput) {
           return this._convertCmykToRgb(data);
         }
       }
diff --git a/src/core/stream.js b/src/core/stream.js
index 669cab1..8bd5b5a 100644
--- a/src/core/stream.js
+++ b/src/core/stream.js
@@ -901,7 +901,7 @@ var JpegStream = (function JpegStreamClosure() {
 
       jpegImage.parse(this.bytes);
       var data = jpegImage.getData(this.drawWidth, this.drawHeight,
-                                   /* forceRGBoutput = */true);
+                                   this.forceRGB);
       this.buffer = data;
       this.bufferLength = data.length;
       this.eof = true;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git



More information about the Pkg-javascript-commits mailing list