You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2011/02/07 09:28:42 UTC

svn commit: r1067878 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java

Author: jeremias
Date: Mon Feb  7 08:28:41 2011
New Revision: 1067878

URL: http://svn.apache.org/viewvc?rev=1067878&view=rev
Log:
Bugfix: Avoid directly encoding if the sample model is not exactly right. For example, monochrome image generated by JAI (error-diffusion rasterization) use a non-packed sample model which caused badly encoded images.

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java?rev=1067878&r1=1067877&r2=1067878&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java Mon Feb  7 08:28:41 2011
@@ -24,8 +24,10 @@ import java.awt.Rectangle;
 import java.awt.image.ColorModel;
 import java.awt.image.DataBuffer;
 import java.awt.image.DataBufferByte;
+import java.awt.image.MultiPixelPackedSampleModel;
 import java.awt.image.Raster;
 import java.awt.image.RenderedImage;
+import java.awt.image.SampleModel;
 import java.io.IOException;
 import java.io.OutputStream;
 
@@ -254,6 +256,12 @@ public class AFPImageHandlerRenderedImag
         if (tiles > 1) {
             return false;
         }
+        SampleModel sampleModel = renderedImage.getSampleModel();
+        SampleModel expectedSampleModel = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE,
+                renderedImage.getWidth(), renderedImage.getHeight(), 1);
+        if (!expectedSampleModel.equals(sampleModel)) {
+            return false; //Pixels are not packed
+        }
 
         imageObjectInfo.setBitsPerPixel(1);
 
@@ -290,6 +298,7 @@ public class AFPImageHandlerRenderedImag
     }
 
     /** {@inheritDoc} */
+    @Override
     protected AFPDataObjectInfo createDataObjectInfo() {
         return new AFPImageObjectInfo();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org