Author: tilman
Date: Wed Jun 11 11:40:09 2014
New Revision: 1601862

URL: http://svn.apache.org/r1601862
Log:
PDFBOX-2101: save RGB and Gray JPEG images directly, as suggested by Jeremias 
Maerki

Modified:
    
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java

Modified: 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java?rev=1601862&r1=1601861&r2=1601862&view=diff
==============================================================================
--- 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java
 (original)
+++ 
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDJpeg.java
 Wed Jun 11 11:40:09 2014
@@ -292,6 +292,18 @@ public class PDJpeg extends PDXObjectIma
      */
     public void write2OutputStream(OutputStream out) throws IOException
     {
+        String colorSpaceName = getColorSpace().getName();
+        if (PDDeviceGray.NAME.equals(colorSpaceName)
+                || PDDeviceRGB.NAME.equals(colorSpaceName))
+        {
+            // RGB and Gray colorspace:
+            // get and write the unmodified JPEG stream
+            removeAllFiltersButDCT(out);
+            return;
+        }
+        // CMYK and other "unusual" colorspaces
+        // create BufferedImage with correct colors and then save into a 
+        // JPEG (some quality loss)
         getRGBImage();
         if (image != null) 
         {


Reply via email to