You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2011/12/16 07:58:03 UTC

svn commit: r1215049 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java

Author: lehmi
Date: Fri Dec 16 06:58:03 2011
New Revision: 1215049

URL: http://svn.apache.org/viewvc?rev=1215049&view=rev
Log:
PDFBOX-1145: fall back to black as stencil color when extracting image masks

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java?rev=1215049&r1=1215048&r2=1215049&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java Fri Dec 16 06:58:03 2011
@@ -17,6 +17,7 @@
 package org.apache.pdfbox.pdmodel.graphics.xobject;
 
 import java.awt.AlphaComposite;
+import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.Transparency;
 import java.awt.image.DataBuffer;
@@ -227,7 +228,7 @@ public class PDPixelMap extends PDXObjec
                         int value = (array[ i * width + j ] + 256) % 256;
                         if (invert)
                         {
-                            input[0] = 1-(value / maxValue) ;
+                            input[0] = 1-(value / maxValue);
                         }
                         else
                         {
@@ -326,7 +327,17 @@ public class PDPixelMap extends PDXObjec
             {
                 BufferedImage stencilMask = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
                 Graphics2D graphics = (Graphics2D)stencilMask.getGraphics();
-                graphics.setColor(getStencilColor().getJavaColor());
+                if (getStencilColor() != null)
+                {
+                    graphics.setColor(getStencilColor().getJavaColor());
+                }
+                else
+                {
+                    // this might happen when using ExractImages, see PDFBOX-1145
+                    LOG.debug("no stencil color for PixelMap found, using Color.BLACK instead.");
+                    graphics.setColor(Color.BLACK);
+                }
+                
                 graphics.fillRect(0, 0, width, height);
                 // assume default values ([0,1]) for the DecodeArray
                 // TODO DecodeArray == [1,0]