You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/08/31 16:58:46 UTC
svn commit: r1621597 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdmodel/graphics/pattern/TilingPaint.java rendering/PageDrawer.java
Author: tilman
Date: Sun Aug 31 14:58:46 2014
New Revision: 1621597
URL: http://svn.apache.org/r1621597
Log:
PDFBOX-1094: use the tranform before any rendering has begun, as suggested by John Hewson
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
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=1621597&r1=1621596&r2=1621597&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 Sun Aug 31 14:58:46 2014
@@ -168,7 +168,7 @@ public class TilingPaint extends Texture
// transform without the translation
AffineTransform at = new AffineTransform(
xform.getScaleX(), xform.getShearY(),
- xform.getShearX(), -xform.getScaleY(),
+ -xform.getShearX(), xform.getScaleY(),
0, 0);
graphics.transform(at);
drawer.drawTilingPattern(graphics, pattern, pdRect, matrix, colorSpace, color);
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1621597&r1=1621596&r2=1621597&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Sun Aug 31 14:58:46 2014
@@ -89,6 +89,9 @@ public class PageDrawer extends PDFGraph
private Graphics2D graphics;
+ // initial transform
+ private AffineTransform xform;
+
// clipping winding rule used for the clipping path
private int clipWindingRule = -1;
private GeneralPath linePath = new GeneralPath();
@@ -145,6 +148,7 @@ public class PageDrawer extends PDFGraph
public void drawPage(Graphics g, PDRectangle pageSize) throws IOException
{
graphics = (Graphics2D) g;
+ xform = graphics.getTransform();
this.pageSize = pageSize;
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
@@ -561,7 +565,7 @@ public class PageDrawer extends PDFGraph
PDGraphicsState graphicsState = getGraphicsState();
return applySoftMaskToPaint(graphicsState.getStrokingColorSpace()
.toPaint(renderer, graphicsState.getStrokingColor(),
- getSubStreamMatrix(), graphics.getTransform(),
+ getSubStreamMatrix(), xform,
(int) pageSize.getHeight()),
graphicsState.getSoftMask());
}
@@ -571,7 +575,7 @@ public class PageDrawer extends PDFGraph
{
return getGraphicsState().getNonStrokingColorSpace()
.toPaint(renderer, getGraphicsState().getNonStrokingColor(),
- getSubStreamMatrix(), graphics.getTransform(),
+ getSubStreamMatrix(), xform,
(int) pageSize.getHeight());
}
@@ -728,7 +732,7 @@ public class PageDrawer extends PDFGraph
PDColor color = getGraphicsState().getNonStrokingColor();
BufferedImage image = pdImage.getStencilImage(
colorSpace.toPaint(renderer, color,
- getSubStreamMatrix(), graphics.getTransform(),
+ getSubStreamMatrix(), xform,
(int) pageSize.getHeight()));
// draw the image