You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/02/27 01:43:02 UTC
svn commit: r1572367 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdfviewer/PageDrawer.java pdmodel/graphics/pattern/TilingPaint.java
Author: jahewson
Date: Thu Feb 27 00:43:02 2014
New Revision: 1572367
URL: http://svn.apache.org/r1572367
Log:
PDFBOX-1094: Fix for NPE in jagpdf and patterns drawn black
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java?rev=1572367&r1=1572366&r2=1572367&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java Thu Feb 27 00:43:02 2014
@@ -211,6 +211,8 @@ public class PageDrawer extends PDFStrea
{
getGraphicsState().setNonStrokingColorSpace(colorSpace);
getGraphicsState().setNonStrokingColor(color);
+ getGraphicsState().setStrokingColorSpace(colorSpace);
+ getGraphicsState().setStrokingColor(color);
}
processSubStream(pattern.getResources(), (COSStream)pattern.getCOSObject());
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java?rev=1572367&r1=1572366&r2=1572367&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java Thu Feb 27 00:43:02 2014
@@ -67,9 +67,16 @@ public class TilingPaint extends Texture
// gets rect in parent content stream coordinates
private static Rectangle getTransformedRect(PDTilingPattern pattern)
{
- AffineTransform at = pattern.getMatrix().createAffineTransform();
- Rectangle rect = new Rectangle(pattern.getBBox().createDimension());
- return at.createTransformedShape(rect).getBounds();
+ if (pattern.getMatrix() == null)
+ {
+ return new Rectangle(pattern.getBBox().createDimension());
+ }
+ else
+ {
+ AffineTransform at = pattern.getMatrix().createAffineTransform();
+ Rectangle rect = new Rectangle(pattern.getBBox().createDimension());
+ return at.createTransformedShape(rect).getBounds();
+ }
}
// gets image in parent stream coordinates
@@ -90,10 +97,20 @@ public class TilingPaint extends Texture
// TODO xStep and yStep
- // undo translation
- Matrix matrix = (Matrix)pattern.getMatrix().clone();
- matrix.setValue(2, 0, matrix.getValue(2, 0) - (float)rect.getX()); // tx
- matrix.setValue(2, 1, matrix.getValue(2, 1) - (float)rect.getY()); // ty
+ // matrix
+ Matrix matrix;
+ if (pattern.getMatrix() == null)
+ {
+ // identity
+ matrix = new Matrix();
+ }
+ else
+ {
+ // undo translation
+ matrix = (Matrix)pattern.getMatrix().clone();
+ matrix.setValue(2, 0, matrix.getValue(2, 0) - (float)rect.getX()); // tx
+ matrix.setValue(2, 1, matrix.getValue(2, 1) - (float)rect.getY()); // ty
+ }
PageDrawer drawer = new PageDrawer();
PDRectangle pdRect = new PDRectangle(0, 0, width, height);