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]